输入字符串,显示输入的字符串并将字符串大写转换为小写?

时间:2012-12-07 20:33:14

标签: assembly x86 x86-16 assembly-resolution

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

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

8086 asm CODE:

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              

提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

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