【汇编语言】《汇编语言》王爽-实验1
1. 将给定命令写入内存,逐条执行观察寄存器内容变化。
从\(1000:0\)开始写入命令:
- A 1000:0
- MOV AX,4E20
- ADD AX,1416
- MOV BX,2000
- ADD AX,BX
- MOV BX,AX
- ADD AX,BX
- MOV AX,001A
- MOV BX,0026
- ADD AL,BL
- ADD AH,BL
- ADD BH,AL
- MOV AH,0
- ADD AL,BL
- ADD AL,9C
改变\(CS:IP\)指向的内存单元:
- R CS
- 1000
- R IP
- 0000
2. 将给定的指令写入内存,利用给定的指令计算\(2\)的\(8\)次方。
给定的指令为:
MOV AX,1
ADD AX,AX
JMP 2000:0003
上述指令将寄存器\(AX\)的值变更为\(1\)然后可以不断的循环\(AX=AX+AX\),相当于加倍,不断循环\(9\)次即可计算出\(2^8\).
3. PC机上的ROM中写有一个日期,在内存\(FFF00H-FFFFFH\)的某几个内存单元中,找到这个日期并试图改变它。
最终定位找到这个日期存储在\(F000:FFF5\)到\(F000:FFFC\)这段内存中。
下面对这段内存进行修改:
- E F000:FFF5 "09/27/20"
修改不起任何作用,\(F000:FFF5\)到\(F000:FFFC\)在各类ROM地址空间(8086PC机内存地址空间分配见书P12),而ROM是只读存储器不能修改其内容。
4. 向内存从\(B8100H\)开始的单元中填写数据。
- E B810:0000 01 01 02 02 03 03 04 04
\(A0000\)到\(BFFFF\)是显存地址的范围。修改这个范围内存的内容就可以修改显示器中显示的内容。