level 13
以x86汇编为例,这要看你要输入地址中的byte,word,还是dword,
因为机器码(不是汇编码)的每一条指令都要确切表示其长度,比如
mov al,[1000h] ;al是byte
mov ax,[1000h] ;ax是word
mov byte ptr [1000h],1 ;地址的话,要确切指出是byte
mov word ptr [1000h],1 ;地址的话,要确切指出是word
假定要输出byte吧
mov ax,0c000h ;设值
mov ds,ax ;ds=ax
mov bx,5555h ;设值
mov al,ds:[bx] ;取该地址的byte值
aam ;转换为bcd
or ax,3030h ;再转换为ascii
push ax ;保存
mov dl,ah ;取十位
mov ah,2 ;输出函数
int 21h ;输出
pop dx ;取回个位
int 21h ;输出
2019年07月28日 02点07分
3
谢谢
![[乖]](/static/emoticons/u4e56.png)
我再试试
2019年07月29日 00点07分
对了,请问,如果想输出这个结果后面的内容,是将他不断的右移一个byte吗
2019年07月29日 00点07分
我觉得想要输出后面的应该要变止寻址 或者 在ds段定义一个变量也行 然后依次加一
2019年08月04日 03点08分