gpt4 book ai didi

assembly - 为什么我们这样做,推 cs pop es?

转载 作者:行者123 更新时间:2023-12-02 04:42:08 25 4
gpt4 key购买 nike

我说的是 16 位 8086 (Nasm)。我可以理解完整的代码,但我不明白为什么我们必须这样做

push cs 
pop es

在下面的代码中

; print string using bios service
[org 0x0100]
jmp start
message: db 'Hello World'
start: mov ah, 0x13 ; service 13 - print string
mov al, 1 ; subservice 01 – update cursor
mov bh, 0 ; output on page 0
mov bl, 7 ; normal attrib
mov dx, 0x0A03 ; row 10 column 3
mov cx, 11 ; length of string

;******************
push cs
pop es ; segment of string
;******************

mov bp, message ; offset of string
int 0x10 ; call BIOS video service
mov ax, 0x4c00 ; terminate program
int 0x21

最佳答案

因为

mov ES,CS

不是有效指令,代码需要 ES=CS。

关于assembly - 为什么我们这样做,推 cs pop es?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com