聊城网站建设策划建设公司,个人网站 空间 多少够,现在办宽带多少钱一年,黑帽seo之搜索引擎参考书籍#xff1a;微机原理与接口技术——基于8086和Proteus仿真#xff08;第3版#xff09;p103-105#xff0c;p119-122.
参考程序是p70#xff0c;例4-1
在上一篇的基础上#xff1a;
创建项目和汇编文件
写一个汇编程序并编译 双击8086的元件图#xff1a; …参考书籍微机原理与接口技术——基于8086和Proteus仿真第3版p103-105p119-122.
参考程序是p70例4-1
在上一篇的基础上
创建项目和汇编文件
写一个汇编程序并编译 双击8086的元件图 可以修改size
比如这里修改成 在asm中写一个简单的汇编程序
DATA SEGMENT ;定义数据段X DW 2010H ;定义被加数Y DW 2011H ;定义加数RESULT DW ? ;分配和数存放单元;数据段定义结束
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AXMOV AX,XADD AX,YMOV RESULT,AXJMP $
CODE ENDSEND START编译 编译通过 调试 选中内存和寄存器窗口第一个和第二个 F11单步调试 发现上述代码进入调试状态后会变成这样 停止调试把CODE段写在前面注意end start仍然写在最后
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AXMOV AX,XADD AX,YMOV RESULT,AXJMP $
CODE ENDS
DATA SEGMENT ;定义数据段X DW 2010H ;定义被加数Y DW 2011H ;定义加数RESULT DW ? ;分配和数存放单元;数据段定义结束
DATA ENDS END START
进入 调试 第二个按钮也可以实现单步调试 单击一次该按钮后观察寄存器和内存 观察到内存发现数据段的首地址是0020而AX被赋值为0002。因为地址段首址*10H偏移地址偏移地址由于是从0000开始所以是正确的 继续单击 此时执行到这条语句 先看一下result的内存内容图的右侧发现我们用预留的空间并不是我们预料的是个随机数而是00 00 继续调试
可看出低字节送入低地址高字节送入高地址 jmp $ 构成无条件循环可以保证仿真持续进行。$表示当前地址。
设置断点
双击某一行左侧 重新进入调试状态点击第一个按钮 程序在断点处停止