在8085微处理器中是否有使用XTHL指令?

时间:2016-02-17 10:51:04

标签: x86-16 8085

我理解XTHL的作用,但有人可以给出一个实际使用它的场景的例子吗?此外,如果可能,请分享应用程序的代码。

1 个答案:

答案 0 :(得分:0)

一种用法包括将参数传递给汇编函数,如下所示:

    CALL function_name
    DB   1,2,3 ;arguments
...
function_name:
    XTHL
    MOV A,M ;get argument
    INX H ;move to next argument
    ...
    XTHL ;now return modified return address to stack,
         ;also restoring HL contents as well

其他用途是在堆栈顶部放置HL的卷影副本,例如:

    DAD   B ;hl=hl+bc
    XTHL  ;'shadow' hl swapped in
    JNC   no_inc
    INX   H
no_inc:
    DAD   D ;hl=hl+de
    XTHL
    ;so we just added 32-bit number in DE:BC to HL:(TOS)

以类似的方式处理推到堆栈上的单词。

有些滥用还包括:

    LXI SP,addr1
    XTHL
    LXI SP,addr2
    XTHL
    ...

此代码将通过连续LXI SP,addr命令指向的位置移动数据字链。当然,这需要中断禁用,但增益就是速度。