1. 补全程序t1.asm,完成在屏幕上输出内存单元中的十进制两位数 补全代码如上所示 将data段的段地址传给ax寄存器,ax寄存器再给ds寄存器(因为8086CPU不允许将一个数值直接送入段寄存器) 《div是除法指令,1)除数有8位和16位两种,在一个reg或内存单元中。 2) 被除数默认放在 ...
分类:
编程语言 时间:
2018-12-09 10:40:16
阅读次数:
257
一、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
第一次练习: (1)借鉴了CSDN的模板代码,进行了自己的分析,在ex9的模板下稍作更改,将0b800h定义为数据段的段地址,通过si、di控制字符和颜色 (2)在外层循环里,si用来控制颜色在二次循环里,si、di被二次利用,相当于for循环中再次int i=0 (3) add bx,0a0h 在 ...
分类:
其他好文 时间:
2018-12-04 20:10:04
阅读次数:
168
教材 133 实验 5 一、 42-20=22,所以反汇编 -u 0 21 (1)data段中的数据为: (2)cs=076ch ss=076bh ds=076ah (3)data段的段地址为 x-2 ; stack段的段地址为 x-1 二、 cx中的依旧是42h,所以可以推测内存分配空间与上一题相 ...
分类:
其他好文 时间:
2018-12-03 23:01:01
阅读次数:
249
一. 1.写代码 2.编译运行 所以 CPU执行程序,程序返回前,data段中的数据为:0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987 CPU执行程序,程序返回前,cs= 076C,ss= 076B,ds= 076A 设程序加载后,code段的段地址为: ...
分类:
其他好文 时间:
2018-12-03 01:16:35
阅读次数:
221
一. 1.写代码 、 2.编译运行 所以 CPU执行程序,程序返回前,data段中的数据为:0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987 CPU执行程序,程序返回前,cs= 076C,ss= 076B,ds= 076A 设程序加载后,code段的段地址 ...
分类:
其他好文 时间:
2018-12-03 00:44:56
阅读次数:
213
论 实验任务(1) 读图可得 1.程序返回前,data段中的数据为 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h2. 2.程序返回前,CS=076C,SS=0769,DS=075A 3.设程序加载后,code段的段地址为X,则data段的段地址为X- ...
分类:
其他好文 时间:
2018-12-02 19:17:54
阅读次数:
173
一开始没注意把ffff改成0021,第二次改了,两次结果对比了一下,发现: 1. 不改ffff不影响栈的内存单元地址,DS是数据段地址,SS是栈段地址,两者是独立的。 2. SP也不受影响,SP代表栈顶,只和存入数据的多少有关,存入时SP=SP 2 3. 内存单元地址我一开始没看运行结果的SP,是直 ...
分类:
其他好文 时间:
2018-12-02 17:28:47
阅读次数:
164
<1>[BX] 想要完整地描述一个内存单元,需要两种信息:(1)内存单元的地址(2)内存单元的长度(类型)。[BX]和[0]有些相似,表示一个内存单元,它的偏移地址在bx中。指令mov ax,[bx]的功能为将bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax ...
分类:
其他好文 时间:
2018-12-01 16:01:46
阅读次数:
162