0

我坚持输入字符串,显示输入的字符串并将字符串大写转换为小写。

我必须使用emu8086.inc,但我不知道如何将下面的代码转换为接受字符串而不是数字/整数。有人愿意就此事进一步指导吗?

8086 asm 代码:

include 'emu8086.inc'

ORG    100h 

LEA    SI, msg1      
CALL   print_string   
CALL   scan_num       

MOV    AX, CX       

; print the following string:
CALL   pthis
DB  13, 10, 'You have entered: ', 0

CALL   print_num      

RET          

msg1   DB  'Enter the number: ', 0

DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS 
DEFINE_PTHIS
END              

先感谢您。

4

1 回答 1

0

我不确定 emu8086.inc 包含哪些功能。

在 Linux 系统上,您也许可以使用系统调用,但我不确定是否从未使用过 Linux。在 Windows 上,最好通过与 MSVCRT.dll 链接来包含像 scanf 这样的 C 函数,或者与 Kernell32.dll 链接的 Windows 提供的控制台函数(请参阅控制台函数)。我会查看您的汇编程序文档,了解如何链接到 dll 并调用各个函数。C 运行时 MSVCRT.dll 还包括将字符串转换为大写的函数“toupper”。Windows 可能有类似的功能,但我不确定。

于 2012-12-07T20:56:56.930 回答