汇编语言——用机器指令和汇编指令编程

1.使用debug,将程序段写入内存(用虚拟机实验的)
机器码 汇编指令
b8 20 4e mov ax,4E20H
05 16 14 add ax,1416H
用E命令写入内存
这里写图片描述
用A命令写入内存
为什么会报错
这里写图片描述
于是我这样写的
这里写图片描述
发现变化是每次执行完t后,ip都会往后跳三个,而且a命令也是往后跳三个来进行输入的(见上图)
2.将下面的指令写入从2000:0开始的内存单元中,来计算2的8次方
mov ax,1
add ax,ax
jmp 2000:0003
这里写图片描述其中打星号的地方a要这么来写,不然a还是指向原来的地方
这里写图片描述
这里写图片描述
实际上是一个死循环
3.查看内存中的内容
pc主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元,请找到并修改他
(其实并不能修改,因为是只读的)
这里写图片描述

这里写图片描述
hh自行寻找日期(想知道99是年份吗,计算机内是怎么存日期的)
4.向内存从B8100H开始的单元中填写数据
-e B810:0000 01 01 02 02 03 03 04 04
先填写不同的数据,观察产生的现象,再改变填写的地址,观察
(执行的时候一直没看见哪里出了变化)
这里写图片描述

这里写图片描述

(可以看出e后面的决定的是显示的位置,而后面的决定的是显示的东西和颜色)

这里写图片描述
修改了位置
这里写图片描述
修改了颜色(估摸着后面的是颜色,前面是数字)
内存地址为b800:0000开始为显存(RAM),可以改变其值来在屏幕中显示,其中一个字符占两个字节,前一个为字符的ASCII码,后面为要显示的颜色,每个屏的行有80个字符,对应的内存占160个字节

猜你喜欢

转载自blog.csdn.net/sinat_42424364/article/details/82687493
今日推荐