汇编笔记

一个月前学过好些都忘了,做点备忘

-----------------------------------------------------------------------------------------

(1)

BP的默认段寄存器与BX、SI、DI不同,使用SS。除非显式指定使用DS。

BP可以用来暂存SP(13.3)

jump:
push bp
mov bp,sp
dec cx
jcxz jprt
add [bp+2],bx
jprt:
pop bp
iret
jumpend:nop


(2)

mov指令的形式有5种:
mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mov 段寄存器,寄存器


(3)

masm报错:error  A2048: must be index or base register

使用寄存器间接寻址时,只可以使用 BX, BP, SI, DI 这四个寄存器中的一个

错误: add [sp+2],bx


(4)

int10h: BIOS提供,包含多个和屏幕输出有关的子程序
int21h: DOS提供


调用int 10h中断例程前:
mov ah,9 ;子程序   2-置光标  9-光标处显示字符
mov al,'a' ;字符
mov bl,7 ;颜色属性
mov bh,0 ;第0页
mov cx,3 字符重复个数


颜色属性格式: 
7 6 5 4 3 2 1 0
BL R G B I R G B
闪烁       背景 高亮          前景



-----------------------------------------------------------------------------------------


实验七
笔记:  es:[di+10]写成es:[di+10h]



实验十二
笔记: 安装程序(传递一段数据)
mov cx,offset do0end-offset do0 ;cx存程序长度
        cld ;设定DF为0,方向为正
        rep movsb ;cx为0时停止
;movsb通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI指向的地址


实验十三(3)

最后一空: add bx,2

为什么前面 mov bh,0改变了bx后不需要重新赋值

据论坛上某人说,此实验中mov bx,offset s 后ah= 0,而且偏移地址不超过256,不会影响到ah。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值