Proteus 仿真8086时 汇编程序里面有DATA SEGMENT时 CS 在load时会偏移的问题
来源:互联网 发布:淘宝c2c 收费模式 编辑:程序博客网 时间:2024/05/20 23:02
Proteus 仿真8086时 汇编程序里面有DATA SEGMENT时 CS 在load时会偏移的问题
对于 类似于把 DATA SEGMENT写CODE外面时
DATA SEGMENT
OUTBUFF DB 2,0,1,3;显示值
LEDTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0~9 段码表
DATA ENDs
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
…………
CODE ENDS
END START
Proteus 利用这种汇编程序进行仿真时,会把CS的地址进行偏移。这样就不能正确的调试的执行我们的程序。出现的状况如下图:
图1:我们设置的8086 的Program Loading Segment 是0x8000
0001
虽然是我们设置的8086 的Program Loading Segment 是0x8000,但是执行类似上面的汇编程序在调试时会出现偏移的状况
如图:
0002
可以看出CS:0801啦,而执行时也从8010开始执行啦。这样就执行不出我想要结果。
解决办法:将DATA SEGMENT 段放入CODE段里就行了。
如:
CODE SEGMENT
DATA SEGMENT
OUTBUFF DB 2,0,1,3;显示值
LEDTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0~9 段码表
DATA ENDS
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
…………
CODE ENDS
END START
Proteus 利用这种汇编程序进行仿真时,就不会把CS的地址进行偏移了。
如图:0003
- Proteus 仿真8086时 汇编程序里面有DATA SEGMENT时 CS 在load时会偏移的问题
- ADC0809的proteus仿真问题
- Proteus 仿真8086+8255,运行时错误的解决
- 8086汇编语言 汇编程序初始时CS与DS的关系
- 如果你修改了MYSQL的data默认位置在命令行连接时会有问题
- 在Proteus中实现对ARM7电路的软硬件仿真
- C51外扩6264芯片在proteus下的仿真
- 关于proteus仿真arm7实例出现错误的问题
- Proteus的虚拟仿真工具
- 基于 Proteus 的单片机仿真
- 几个Proteus的仿真网站
- 【MySQL5.0】Load data infile 时遇到的奇怪问题
- iPhone X在push时tabBar往上偏移的问题
- Proteus仿真_01、 8086 IO译码仿真
- PHP 在用header或session时会遇到的 在调用之前有输出的问题。
- IP核在modelsim里面的仿真
- mysql的load data问题
- proteus仿真出了点小问题
- Java编码易疏忽的十个问题(…
- mysql 基础(转)2
- mysql 基础(转)1
- mysql数据库恢复(待研究)
- request.setCharacter() 报错
- Proteus 仿真8086时 汇编程序里面有DATA SEGMENT时 CS 在load时会偏移的问题
- java邮件开发问题(转,全)
- Document is empty
- mysql 获取指定记录的相邻的记录
- html做一个假的弹出框
- 设置默认浏览器
- js 实现跳转
- 去掉数组中的重复项
- 我的博客今天0岁341天了,我领取了…