如何使用PutInt从寄存器CL打印

时间:2017-10-21 19:38:03

标签: assembly nasm

我想在一起添加两个8位寄存器并打印结果。我想添加寄存器CL和CH。我用-1275填充ECX,我想看看如果我减去这两个寄存器会得到什么结果,我该怎么做?

这就是我写的内容但是我在第13行得到一个错误,指出操作码和操作数的无效组合。为什么我不能使用PutInt从CL打印?我需要做什么?

%include "io.mac"
.STACK 100H 
.DATA

   msg4  db "The result is: ",0
   .CODE
        .STARTUP
    mov ECX,1111101100000101b


    PutStr msg4  ; print msg4 on the output
    add CL, CH   ; Add results
    PutInt CL   ; output int from register CL <-- line 13
    nwln
    done:                        
        .EXIT

1 个答案:

答案 0 :(得分:2)

PutInt不采用8位操作数。但你可以使用CX:

mov CH, 0 ; clear high-byte
PutInt CX

通过简单的mov操作清除高字节,就是它。