2018年12月10日
摘要: 1.补全ex1.asm,完成在屏幕上输出内存单元中的十进制两位数: div指令若除数小于2的8次方-1,则al储存除法操作的商,ah存余数; 其被除数为12. 补全代码如下: 12/10,商是1,余数是2; 2.补全程序ex2.asm,完成在屏幕上输出data段定义的5个十进制两位数,数据之间空格相 阅读全文
posted @ 2018-12-10 21:32 柯朵莉 阅读(125) 评论(0) 推荐(0) 编辑
  2018年11月27日
摘要: 实验5,我来了,冲鸭! 1. 源码如下: 进行编译: 用反汇编指令查看返回之前的地址; 查看data段中的数据正是我们之前在段中定义数据,小端法排放; ss 即程序返回前,cs=076c,ss=076b,ds=076a; 可以看出:若程序加载后,code段的段地址为X的话,那data段的段地址就为: 阅读全文
posted @ 2018-11-27 00:00 柯朵莉 阅读(126) 评论(0) 推荐(0) 编辑
  2018年11月19日
摘要: 1.附上代码图== 也就是先把ds的值赋为0b80,之后再对其进行偏移:ds:ip=b800:07b8;对cx赋值为16,loop循环地址后 的16个地址,inc bx相当于mov dx,1;add bx,dx;就是实现了对bx的值加一。 然后打开dosbox编译调试: type masm,link 阅读全文
posted @ 2018-11-19 21:31 柯朵莉 阅读(171) 评论(0) 推荐(0) 编辑
  2018年11月18日
摘要: 1.1 先利用指令打开记事本==(这样可能比较有b格?哈哈) 然后把要打的汇编代码输入到记事本中: 将这个文件名改为t1.asm,存于masm环境文件中(这样后面的操作就很简便) 之后打开dosbox开始操作: 一步 老操作不多说; 先type编译一下,与原码相同;(记得用type加文件全名) ma 阅读全文
posted @ 2018-11-18 20:49 柯朵莉 阅读(154) 评论(3) 推荐(0) 编辑
  2018年10月28日
摘要: 实验二 (1) 1.1 使用e命令修改0021:0~0021:f数据,及修改后是否正确写入的操作。 嗯,没问题。 1.2使用a指令写入p74指令: 用r命令查看寄存器的情况: 开始单步调试: (2) 2.1用a指令输入p73的7行指令,然后用e命令修改2000:0~2000:f的值,及修改后查看部分 阅读全文
posted @ 2018-10-28 22:03 柯朵莉 阅读(197) 评论(6) 推荐(0) 编辑
摘要: 实验1 查看CPU和内存,用机器指令和汇编指令编程: 准备工作: 我的笔记本是64位的windows系统,并不可直接进入debug程序,需要先下载dosbox和debug的环境 进入调试因为装在d:\masm 我创建了D盘为驱动器,D:\masm为挂载驱动器的目录 之后在进入D盘,输入debug就进 阅读全文
posted @ 2018-10-28 20:31 柯朵莉 阅读(232) 评论(6) 推荐(0) 编辑