第五-八章

本文深入解析了8086汇编语言中的关键指令,包括[bx]和loop指令的工作原理,以及如何利用这些指令进行数据处理。同时,文章详细介绍了寻址方式、数据重复使用和结构体数据访问等高级主题,为读者提供了全面的汇编语言编程指导。

第五章 [bx]和loop指令
1,( )表示一个寄存器或一个内存单元中的内容。( )中的元素可以有三种类型:寄存器名,段寄存器名,内存单元的物理地址。
2,(x)所表示的数据类型有两种:字节与字。
3,inc bx为bx中的内容+1
4,cpu执行loop指令时
1)(cx)=(cx)-1
2)判断cx的值,不为零则转至标号处执行程序,若为零则向下执行。即用cx的值控制执行次数。

第六章 包含多个段的程序

1,dwdefine word。因为dw定义的数据位于代码段的最开始,所以偏移地址位0,这八个数据就在代码段的偏移02468ACE

2,8086cpu中一个短的容量不能大于64kb

第七章 更灵活的定位内存地址的方法

1,and指令:遇零则零;or指令:遇一则一

2,在汇编程序中,用’...’的方式表明数据是字符的形式给出的,编译器将其转化为相对应的ASCⅡ码。小写字母的ASCⅡ码比大写字母的ASCⅡ码值大20H

3,一个字母不管他原来是大写还是小写,将他的第五位0必变为大写字母,将他的第五位1必为小写字母

4,Sidi8086cpu中和bx功能详尽的寄存器,sidi不能够分成两个8位寄存器使用。

5,寻访方式

1)[idata]用一个常量来表示地址,可用于直接定位一个内存单元

2)[bx]用一个变量来表示内存地址,可用于间接定位一个内存单元

3)[bx+idata]用一个变量和常量表示地址,可在一个起始地址的基础上用变量间接定位一个内存单元

4)[bx+si]用两个变量表示地址

5)[bx+si+idata]可用两个变量和一个常量表示地址

6,一般来说,在暂存数据时,都会用到栈

第八章 数据处理的两个基本问题

1,bxsidi的默认偏移地址为dsbp的默认偏移地址为ss

2,处理数据的长度

1)通过寄存器名指明要处理的数据的尺寸

2)在没有寄存器名存在的情况下,用操作符x ptr指明内存单元的长度,x在汇编指令中可以为wordbyte

3)其他方法

3,div:如果除数为8位,则al储存除法操作的商,ah储存除法操作的余数;如果除数为16位,如果除数时16位,则ax储存器储存除法操作的商,dx存储除法操作的余数

4,[bx+idata+si]的方式访问结构体中的数据,用bx定位整个结构体,用idata定位结构体中的某一项数据项,用si定位数组中的每个元素

5,Dup使用格式

1)db重复的次数dup(重复的字节型数据)

2)dw重复的次数dup(重复的字型数据)

3)dd重复的次数dup(重复的双字型数据)

转载于:https://www.cnblogs.com/yellowcroacker/p/10154285.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值