-
在这里0-1=ffff
-
有关于根据位移进行转移的意义:跳转指令与浮动装配(汇编相关),汇编语言交流,技术交流区,鱼C论坛 - Powered by Discuz!
-
实验八:重点关注jmp short s1是表达ip的值本位-8个字节,因为他不是长转移,而是短转移,是直接根据位移算的,它的机器码里没有要跳转到的目标位置的信息
-
有关于nasm用法的意外收获:http://www.cppblog.com/myjfm/archive/2011/11/05/159647.asp
-
有关于实验9,先给代码
DATAS SEGMENT db 'welcome to masm!' db 2h,23h,71h DATAS ENDS stack segment dw 10 dup(0) stack ends CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:stack START: mov ax,datas mov ds,ax mov ax,0b800h mov es,ax mov si,40h mov di,0 mov bp,0780h mov cx,3 s1: push cx mov cx,10h s:mov al,byte ptr ds:[bx] mov ah,byte ptr ds:[di+10h] mov es:[si+bp],ax add si,2 inc bx loop s mov bx,0 inc di add bp,0a0h mov si,40h pop cx loop s1 MOV AH,4CH INT 21H CODES ENDS END START
写这道实验我还是踩过挺多坑的,现在就列一下:
-
栈不用你进行初始化,在上面设栈了,程序会自动帮你接过去,不然你的程序可能报错
-
直接数类似于abh这样的,只有这么写0abh才是合法,其他会报错
-
你不能直接用si进行字节的复制,我试了下,直接报错
-
一般这种处理一个字节,可以分解ax为al,ah,然后复制到目标的内存单元,注意高位配高位,低位配低位
-
字符串可以通过db ‘jaskdjak’这样在data数据段中直接设置
-
因为我在data段里面设置两个,又因为这两个偏移方式有点不太一样,所以不能用相同的寄存器进行同加操作,这里是我原本第24行di是bi
-
王爽汇编第九章学习笔记
最新推荐文章于 2024-08-17 06:55:47 发布