jtag的emu0与emu1_汇编:同一段程序用cmd和emu8086 编译出的结果不一样?

datasegmentdb1h,20h,30h,40h,50h,60h,70h,70h,0,0dataendsstacksegmentdb0,0,0stackendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,axmovax,stackmovss,axmov...

data segment

db 1h,20h,30h,40h,50h,60h,70h,70h,0,0

data ends

stack segment

db 0,0,0

stack ends

code segment

assume cs:code ,ds:data ,ss:stack

start:

mov ax,data

mov ds,ax

mov ax,stack

mov ss,ax

mov sp,06

mov bx,[0]

mov cx,7

mov ah,0

mov bx,7

mov al,[bx]

mov bx,9

mov [bx],al

mov bx,0

mov al,[bx]

mov bx,8

mov [bx],al

mov dl,[bx]

call dispdec

mov ah,02

mov dl,0

int 21h

mov dh,0

mov dh,0

mov bx,9

mov dl,[bx]

call dispdec

mov ax,4c00h

int 21h

;显示十进制子程序

dispdec proc uses ax bx cx dx

mov ax,dx

xor dx,dx

mov bx,10

mov cx,0

a:

cmp ax,10

jb ok

div bx

add dl,30h

push dx

xor dx,dx

inc cx

jmp a

ok:

add al,30h

push ax

inc cx

b:

pop dx

mov ah,2

int 21h

loop b

ret

dispdec endp

code ends

end start

程序的目的的就是:将内存中第一个单元的数值放到第八个单元 第七个单元的内容放到第九个单元并按照十进制输出

但是我用masm编译后用cmd运行 和emu8086编译运行出的结果不一致 cmd运行的结果多了128 请问这是怎么回事? 并且我在用debug调试这个程序的时候 出现了 16bit ms-dos subsystem 错误 请问这是怎么回事? 谢谢

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4 JTAG KeystoneⅠ上的JTAG接口用于和测试仿真系统通信,尽管JTAG对于系统运行不是必须的,但是强烈推荐所有设计上都使用JTAG接口。 4.1 JTAG/Emulation JTAG/Emulation相关的文档: Emulation and Trace Headers Technical Reference Manual (SPRU655) (but note differences defined below) Boundary Scan Test Specification (IEEE-1149.1) AC Coupled Net Test Specification (IEEE-1149.6) Clocking Design Guide for KeyStone Devices Application Report (SPRABI4) 4.1.1 JTAG/Emulation的配置 IEEE1149.1-1990标准,IEEE标准测试访问端口和边界扫描结构(JTAG)接口可以用于边界扫描和仿真。 边界扫描的实现和IEEE-1149.1以及IEEE1149.6(用于SerDes端口)。不管器件是什么样的配置,边界扫描都可以使用。 作为仿真接口,JTAG端口可以用于多种模式: 标准仿真模式:只需要5个标准JTAG信号【TCK,TDI,TD0,TMS,TRST】 HS-RTDX仿真模式:需要5个标准JTAG信号,加上EMU0 和/或 EMU1。在这种模式下,EMU0 和/或 EMU1在这种模式下是双向的。 Trace port:trace port支持实时复制特定的内部数据。Trace port使用EMU[18:00]引脚来输trace数据,但是,使用的引脚数是可以配置的。 不管器件是什么样的配置,仿真功能都可以使用。 任何未使用的仿真信号可以悬空。 4.1.2 JTAG/Emulation 的系统实现 对于大多数的系统层次的实现细节,查看Emulation and Trace Headers Technical Reference Manual (SPRU655),不过KeystoneⅠ器件的实现和该文档中说明的有所不同。 尽管上述文档暗示了3.3V的信号,不过只要TVD源是1.8V的,1.8V的信号也是支持的。 【TVD全称Target Voltage Detect,对应于14针的JTAG的第5个引脚,较新的仿真器硬件可以调整电压以匹配目标器件的电压。所以对于6678,这个引脚接1.8V,给较新的仿真器来检测。】 对于未使用trace特性的单个器件的连接,可以使用标准14引脚的连接器以及非缓冲的连接【评估板上没有使用缓冲,但是没有14引脚连接器】。如果使用了trace特性(需要60引脚的仿真器连接),5个标准JTAG信号需要被缓冲并且TCLK和RTCLK需要被分别缓冲。建议在TCLK上接上并联交流终端匹配。EMU0EMU1不能被缓冲,因为在HS-RTDX模式下,它们是双向信号。 对于有多个DSP而没有使用trace分析特性的系统,JTAG信号需要如上述一样被缓冲,但是可以使用14引脚连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值