您的位置:首页 > 其它

汇编笔记

2015-11-08 18:34 232 查看
一个月前学过好些都忘了,做点备忘

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

(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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: