string - 在汇编中按字符打印字符串
问题描述
我正在学习汇编,我想非常了解基础知识,以便我可以编写更完整的函数。
我想按字符将字符串打印到控制台字符。该字符串存储在 db 类型的变量中。我有一个调用 print_string 的函数,它将 bx 地址中存储的值与 0 进行比较,因为我在字符串的末尾放了一个 0。之后,我想遍历字符并一一打印。
这是代码:
[org 0x7c00]
mov bx, HELLO_MSG
call print_string
mov bx, GOODBYE_MSG
call print_string
jmp end
;%include "print_string.asm"
;DATA
HELLO_MSG:
db "Hello, World!", 0
GOODBYE_MSG:
db "Goodbye, World!", 0
;FUNCTIONS
print_string:
cmp [bx], 0
je the_end
mov ah, 0x0e
mov al, [bx]
int 0x10
add bx, 0x1
jmp print_string
the_end:
ret
end:
jmp $
;padding and magic no
times 510-($-$$) db 0
dw 0xaa55
我不想使用任何可以解决此问题的中断。
解决方案
推荐阅读
- arm - 缺少 IAR Embedded Workbench 菜单栏
- javascript - 将不同尺寸的相同产品添加到购物车
- sql - 使用 SQL 识别存在指定唯一分组/组合的实例
- python - 如何在 Python 中获取字符的位置并将其存储在变量中?
- php - 将大字符串分成较小的组?
- javascript - 使用 jest.mock 进行多个测试
- c# - 如何使用 C# 查询 Tableaus GraphQL
- ios - 在博览会上发布反应本机应用程序时出现意外代码 404
- javascript - 传递附加参数以发出事件
- python-3.x - 在 Raspberry Pi 4 中循环 500 次后,while 循环(Python)变慢