【发布时间】:2022-10-23 22:00:30
【问题描述】:
我为 DOSBOX 编写程序(使用 tasm)。我需要将输入的字符串逐行输出为字符。我想出了如何输入字符串,但我错了 output。
有2个问题:
- 不知道怎么弄长度的字符串,所以有太多的空行。
- 有每行没有一个字符在输出中。
我的代码:
.model small .data message db 'String: $' string db 10 dup(' '), '$' .stack 256h .code main: mov ax, @data mov ds, ax lea dx, message ; load message to dx mov ah, 09h ; output message int 21h xor dx, dx lea dx, string ; input string mov ah, 0Ah int 21h ; crlf mov dl, 10 mov ah, 02h int 21h mov dl, 13 mov ah, 02h int 21h ; output string char by char mov si, 0 mov cx, 10 ; a number of loops, but how to get the length of the string? output: lea dx, string[si] mov ah, 09h int 21h mov dl, 10 mov ah, 02h int 21h mov dl, 13 mov ah, 02h int 21h inc si loop output mov ah,4ch int 21h end main
【问题讨论】:
标签: string assembly output dosbox