装配变量

时间:2013-09-27 09:51:11

标签: variables assembly

我是汇编的新手,我很困惑一些变量如何从不知道的地方神奇地获取值,就像我在这个代码中所做的那样(程序通过一个ASCII代码转换所有输入的符号)

.model small

.stack 100h

.data
 Enterr  db 10, 13, "$"
 buffer db 255
 number db ?
 symb   db 255 dup (?)

.code
 START:
MOV ax, @data       
MOV ds, ax          

MOV     ah, 10      
MOV     dx, offset buffer
INT 21h

    MOV     ah, 9           
MOV     dx, offset ENTERR       
INT 21h

    MOV     bx, offset symb     
MOV     cl, number          
MOV     ch, 0           

CMP     cx, 0
JE      terminate           

 cycle: 
INC byte ptr [bx]       
INC bx              
LOOP cycle          

MOV byte ptr [bx], '$'

MOV ah, 9
MOV dx, offset symb
INT 21h

 terminate:
MOV ah, 4Ch         
MOV al, 0           
INT 21h         
END START

在循环之前,cx输入了符号数,循环开始从那里开始。当变量“number”被复制到cl时,获得该cx值。变量“数字”是如何获得这样的值的?替换

 MOV     cl, number  

 MOV     cl, [number] 

不影响该计划。这是为什么?每个变量都由

定义
 variable   db ? 

具有相同的值,即输入的符号数?(我正在使用TASM)

0 个答案:

没有答案