【发布时间】:2016-04-13 02:19:32
【问题描述】:
我正在编写一个程序,它将接受一个字符串并输出原始字符串、一个全小写的字符串版本和一个全大写的字符串版本。但是,出于某种原因,输出看起来像这样:
Assembly is kinda fun
assembly is kinda fun-*
ASSEMBLY IS KINDA FUN
我不明白为什么“-*”出现在小写输出之后,尤其是因为它实际上与大写输出相同。有人可以解释一下为什么会这样吗?这是我的代码:
TITLE MASM Template (main.asm)
; Description:
;
; Revision date: 4/12/16
INCLUDE Irvine32.inc
.data
myString BYTE "Assembly is kinda fun", 0dh, 0ah, 0
myOtherString BYTE 70 DUP(?), 0dh, 0ah, 0
.code
main PROC
call Clrscr
MOV EDX, OFFSET myString
Call WriteString
LEA ESI, myString
MOV ECX, 70
copyloop1:
MOV AL, [ESI]
OR AL, 00100000b
MOV myOtherString, AL
MOV EDX, OFFSET myOtherString
Call WriteChar
INC ESI
LOOP copyloop1
CALL Crlf
LEA ESI, myString
MOV ECX, 70
copyloop2:
MOV AL, [ESI]
AND AL, 11011111b
MOV myOtherString, AL
MOV EDX, OFFSET myOtherString
Call WriteChar
INC ESI
LOOP copyloop2
CALL Crlf
exit
main ENDP
END main
【问题讨论】:
-
位算术测验:0dh OR 00100000b 是什么? 0ah OR 00100000b 怎么样?
-
@NateEldredge 00101101 和 00101010 ... 哦,谢谢,哈哈
-
... 的 ASCII 码是什么?
-
@NateEldredge 谢谢你,哈哈,我不敢相信我把它漏掉了!
-
CPU 正在给你发送一个亲吻表情,因为你正在享受组装的乐趣。
标签: assembly masm uppercase lowercase irvine32