- [struts8] 谢谢鼓励啦,今天平安夜,哈哈,偶和MASM一起过啦 12/24 20:25
- [tomato] 祝贺 12/22 22:52
- [jcw2008] 不错。 12/22 21:42
- [struts8] 确实如此啊,不过,我是新手,呵呵,还是记着点好,这样学习的时候可以减少点阻力,就像学习JAVA一样, 12/10 20:23
- [mouse] add 寄存器,数值 add 寄存器,寄存器 add 寄存器,内存地址 12/10 10:19
- [crazyman] 嗯奈地。 12/09 20:39
[2008-12-22 18:00] 试验 9 作业
其实很简单,我放一个简化例子,没有实现屏幕居中。
;b8000 : bffff
;b8000 : b8f9f
assume cs:codeseg,ds:data
data segment
db 'welcome to masm!'
data ends
codeseg segment
start : mov ax,0b800h
mov es,ax
mov si,0
mov di,0
mov ax,data
mov ds,ax
mov cx,16
...
;b8000 : bffff
;b8000 : b8f9f
assume cs:codeseg,ds:data
data segment
db 'welcome to masm!'
data ends
codeseg segment
start : mov ax,0b800h
mov es,ax
mov si,0
mov di,0
mov ax,data
mov ds,ax
mov cx,16
...
阅读全文 |
评论次数(3) |
浏览次数(759) |
所属类型(汇编作业)
[2008-12-09 19:49] 指令学习
MOV
传送指令,可以改变所有通用寄存器的值,但不能改变CS,IP的值,改变CS,IP值的指令,称为跳转指令,比如 JMP.
mov指令不能直接传送数据给DS,比如:mov ds,1000h(错误)。那么我们可以通过一个中间寄存器来改变DS.比如:
mov ax,1000h.
mov ds,ax.
mov [bx+si],[di](这样是错误的,MOV指令不支持操作数都是内存地址,该题在检测中出现过,做错了,所以得记着啦)
ds的改变,也可以通过传送内存地址: mov ds,[0]
当然传送指令也可以通过寄存器来改变内存地址的值。
JMP 改变CS,IP的值。比如: JM...
传送指令,可以改变所有通用寄存器的值,但不能改变CS,IP的值,改变CS,IP值的指令,称为跳转指令,比如 JMP.
mov指令不能直接传送数据给DS,比如:mov ds,1000h(错误)。那么我们可以通过一个中间寄存器来改变DS.比如:
mov ax,1000h.
mov ds,ax.
mov [bx+si],[di](这样是错误的,MOV指令不支持操作数都是内存地址,该题在检测中出现过,做错了,所以得记着啦)
ds的改变,也可以通过传送内存地址: mov ds,[0]
当然传送指令也可以通过寄存器来改变内存地址的值。
JMP 改变CS,IP的值。比如: JM...
阅读全文 |
评论次数(3) |
浏览次数(740) |
所属类型(默认类型)