请高手帮忙解释一下此段汇编代码(进行什么操作的),3Q~~~!!

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:11:46
181D:0000 0E PUSH CS
181D:0001 1F POP DS
181D:0002 BA0E00 MOV DX,000E
181D:0005 B409 MOV AH,09
181D:0007 CD21 INT 21
181D:0009 B8014C MOV AX,4C01
181D:000C CD21 INT 21
181D:000E 54 PUSH SP
181D:000F 68 DB 68
181D:0010 69 DB 69
181D:0011 7320 JNB 0033
181D:0013 7072 JO 0087
181D:0015 6F DB 6F
181D:0016 67 DB 67
181D:0017 7261 JB 007A
181D:0019 6D DB 6D
181D:001A 206361 AND [BP+DI+61],AH
181D:001D 6E DB 6E
181D:001E 6E DB 6E
181D:001F 6F DB 6F

这是调用DOS的21H中断第09H号子功能显示一字符串的半吊程序,
有缺损.如译为汇编源程序就易懂了:

code segment
assume cs:code
start:
push cs
pop ds
mov dx,0eh;DS:DX指向串首
mov ah,9
int 21h
mov ax,4c01h
int 21h
db 'This program canno'
;以下为缺损部分
db 't run in DOS mode!$'
code ends
end start
功能:显示字符串This program cannot run in DOS mode!