当我运行emu8086时,这个结果(ans)返回给我0 ..为什么?
ValueError: Some errors were detected !
Line #2 (got 26 columns instead of 22)
Line #3 (got 26 columns instead of 22)
Line #4 (got 26 columns instead of 22)
Line #5 (got 26 columns instead of 22)
Line #6 (got 28 columns instead of 22)
Line #7 (got 26 columns instead of 22)
Line #8 (got 28 columns instead of 22)
Line #9 (got 26 columns instead of 22)
Line #10 (got 26 columns instead of 22)
Line #11 (got 26 columns instead of 22)
Line #12 (got 26 columns instead of 22)
Line #13 (got 26 columns instead of 22)
Line #14 (got 28 columns instead of 22)
Line #15 (got 26 columns instead of 22)
Line #16 (got 28 columns instead of 22)
Line #17 (got 26 columns instead of 22)
Line #18 (got 26 columns instead of 22)
Line #19 (got 26 columns instead of 22)
Line #20 (got 26 columns instead of 22)
Line #21 (got 26 columns instead of 22)
Line #22 (got 28 columns instead of 22)
Line #23 (got 26 columns instead of 22)
Line #24 (got 28 columns instead of 22)
Line #25 (got 26 columns instead of 22)
Line #26 (got 26 columns instead of 22)
Line #27 (got 26 columns instead of 22)
Line #28 (got 26 columns instead of 22)
Line #29 (got 26 columns instead of 22)
Line #30 (got 28 columns instead of 22)
Line #31 (got 26 columns instead of 22)
Line #32 (got 28 columns instead of 22)
Line #33 (got 26 columns instead of 22)
答案 0 :(得分:3)
mov ax,@data mov dx,ax
这部分代码必须设置DS
段寄存器
你写了一个拼写错误并改写了DX
!
mov ax, @data
mov ds, ax
由于此错误,AL
* BL
乘法(4)的结果仍然由mov ans,ax
写入内存,但它没有进入数据段。它覆盖了ProgramSegmentPrefix的第一个单词,因为那是DS
所指向的位置。