主题:与预想不一致的结果!
初学asm.使用RadAsm.
很多地方不明白!
assume cs:cseg, ds:dseg, ss:sseg
; code
cseg segment
start:
MOV AH,X
MOV BH,Y
ADD AH,BH
mov ax, 4C00h
int 21h
cseg ends
; data
dseg segment byte
X DB 10H
Y DB 20H
dseg ends
; stack
sseg segment stack
db 100h dup(?)
sseg ends
end start
编译链接以后用codeview调试的时候发现
执行完语mov ah,x以后ah的值为3。
而这个时候的汇编代码是
mov ah,byte ptr [000F]
这个000F就等于10,那么这就是说mov ah,x是将x的值所指的地址的值赋给ah.
这个好像和我看书的结果不一致!
还请哪位好心解答一下!
本人深知问题较弱智!请勿见笑!
谢谢了!
BTW:(用的是RadAsm生成的DosApp的template)
很多地方不明白!
assume cs:cseg, ds:dseg, ss:sseg
; code
cseg segment
start:
MOV AH,X
MOV BH,Y
ADD AH,BH
mov ax, 4C00h
int 21h
cseg ends
; data
dseg segment byte
X DB 10H
Y DB 20H
dseg ends
; stack
sseg segment stack
db 100h dup(?)
sseg ends
end start
编译链接以后用codeview调试的时候发现
执行完语mov ah,x以后ah的值为3。
而这个时候的汇编代码是
mov ah,byte ptr [000F]
这个000F就等于10,那么这就是说mov ah,x是将x的值所指的地址的值赋给ah.
这个好像和我看书的结果不一致!
还请哪位好心解答一下!
本人深知问题较弱智!请勿见笑!
谢谢了!
BTW:(用的是RadAsm生成的DosApp的template)