两个约定: 约定符号():表示寄存器或者一个内存单元的内容,如(ax)表示ax中内容,(bx)表示bx内容,(20000H)表示内存20000H单元的内容。 约定符号idata表示常数。 [bx]用法:[bx]为一个内存单元,其中bx是偏移地址,也就是内存ds:bx处 如mov ax,[bx]就是把 ...
分类:
其他好文 时间:
2018-12-16 23:41:05
阅读次数:
228
内存中字的存储 字单元,即存放一个字形数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节,取低地址内存单元地址作为字数据地址。我们将起始地址为N的字单元简称为N地址字单元。 DS和[address] “[...]”表 ...
分类:
其他好文 时间:
2018-12-16 23:22:52
阅读次数:
115
这里用到div除法运算,用al存放十位数字,用ah存放个位数字,因为要输出十进制的两位数,则在他们本身数字的基础上加上0的ASCII码值30h即可。最后输出结果为12. 2.补全程序 t2.asm,完成在屏幕上输出 data 段定义的 5 个十进制两位数,数据和数据 之间以空格间隔。 这是仿照实验1 ...
分类:
其他好文 时间:
2018-12-11 11:28:06
阅读次数:
199
补全程序 t1.asm,完成在屏幕上输出内存单元中的十进制两位数 这里我把内存单元中的值放在寄存器中进行转换。 补全程序 t2.asm,完成在屏幕上输出 data 段定义的 5 个十进制两位数,数据和数据 之间以空格间隔。 冲突:调用库函数向屏幕输入字符需要向ah传入2 ,与div保存结果的ah冲突 ...
分类:
其他好文 时间:
2018-12-10 19:37:52
阅读次数:
192
一、bx、si、di和bp ①在8086CPU寄存器中,只有这四个寄存器可以用在"[....]"中来表示进行内存单元的寻址。 ②在[....]中,这4个寄存器可以单个出现,或者只能以4种组合出现:bx和si、bx和di、bp和si、bp和di。 ③使用bx, si, di表示偏移地址时,默认段地址在 ...
分类:
其他好文 时间:
2018-12-08 15:40:39
阅读次数:
160
1、基础知识 寄存器CPU存储地址信息 物理地址 = 基础地址 + 偏移地址基础地址 = 段地址 * 16(10H) 段地址:偏移地址ds sies diss bpcs ip sp bx CS:IP 所指向的内存地址都是指令指令执行的过程:1、CPU从cs:ip所组成的地址中读取指令,将这个指令存放 ...
分类:
编程语言 时间:
2018-12-07 23:26:23
阅读次数:
281
① 一条指令 ②两条指令 Tips: LEA指令与MOV指令的区别: ① MOV指令是 数据 传送指令 传送数据 LEA指令是 有效地址 传送指令 取偏移地址 ② MOV OPRD1 OPRD2 OPRD1: 目的操作数(寄存器,存储器,累加器) OPRD2: 源操作数(寄存器,存储器,累加器,立即 ...
分类:
其他好文 时间:
2018-12-07 11:55:46
阅读次数:
215
Tips: LEA指令与MOV指令的区别: ① MOV指令是 数据 传送指令 传送数据 LEA指令是 有效地址 传送指令 取偏移地址 ② MOV OPRD1 OPRD2 OPRD1: 目的操作数(寄存器,存储器,累加器) OPRD2: 源操作数(寄存器,存储器,累加器,立即数) 例如: 注意: 目的 ...
分类:
其他好文 时间:
2018-12-07 01:30:00
阅读次数:
227
1.[bx]表示内存的用法,loop指令的用法 语法格式 loop 标号 通常我们用loop指令来实现循环功能,cx中存放循环次数。 cpu执行指令过程 1.cx=cx-1 2.判断cx的值是否为0 如果cx不等于0,跳转到标号出执行 如果cx=0,执行loop后面的其它指令。 2.综合应用loop ...
分类:
其他好文 时间:
2018-12-03 01:07:27
阅读次数:
267
<1>[BX] 想要完整地描述一个内存单元,需要两种信息:(1)内存单元的地址(2)内存单元的长度(类型)。[BX]和[0]有些相似,表示一个内存单元,它的偏移地址在bx中。指令mov ax,[bx]的功能为将bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax ...
分类:
其他好文 时间:
2018-12-01 16:01:46
阅读次数:
162