汇编语言上机指导及例示

http://tech.ddvip.com   2006年12月01日    社区交流

本文详细介绍汇编语言上机指导及例示

  error.ASM(19): error A2049: Illegal use of register

  End of file encountered on input file

  error.ASM(23): warning A4085: End of file, no END directive

  51566 + 406450 Bytes symbol space free

  2 Warning Errors

  4 Severe Errors

  说明这个程序有错误,并在第3,4,16,19,23行有错,

  我们再执行PROCEDURE c去逐一检查

  第三行:3 ax db 'My name is DJX'

  它的错误在于AX不能作为变量名,更正:

  3 out2 db 'My name is DJX'

  注意刚才我们定义AX为变量时在后面的程序中用过'变量AX'在第19行

  19 lea dx,ax

  在出错报告中也报第19行错,因为不能将AX的有效地址赋给DX,更正:

  19 lea dx,out2

  这样一下就解决了两个错误

  第四行:4 data ens

  这行为一个段的结束,但语句漏打了字母,更正:

  4 data ends

  第十六行:16 moo ah,2

  这行也是语句打错,更正:

  16 mov ah,2

  第二十三行:

  出错信息:error.ASM(23): warning A4085: End of file, no END directive

  说明本程序没有结束伪操作,更正:

  加入:在第七、八行加入地址标志: start:

  原23 end start

  执行PROCEDURE a将源程序修改如下:

data segment
out1 db 'Hello world'
out2 db 'My name is DJX'
data ends
code segment
assume cs:code;ds:data
start:
lea dx,out1
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
lea dx,out2
mov ah,9
int 21h
code ends
end start

  再次进行PROCEDURE b进行编译,屏幕显示:

责编:豆豆技术应用

正在加载评论...