컴파일러에서 outStr을 인쇄하도록 지시하는 printf 문이 있습니다. outStr은 원래 같음으로 설정됩니다. emptybuf [1000] = "아직 번역되지 않았습니다."; 내 대답을 outStr로 옮겨야하는데, outStr은 print 문에서 outStr을 업데이트해야한다.소문자 문자열을 대문자로 변환
인라인 어셈블리는 어떤 이유로 아래 표시된 코드에서 아무 것도 인쇄하지 않습니다. 내가 뭘 잘못하고 있는지 이해할 수 없다. 나는 소문자를 대문자로 변환하려고 시도하고 있으며, 어떤 특수 문자도 무시하고있다. 어떤 조언을 많이 주시면 감사하겠습니다.
mov esi,inStr ;To start off initialize esi point to input string
mov edi,outStr ;edi point to the output string area
; using esi and edi with [esi] and [edi] as indirect operand
; suggestion to start mov each character to al like --> mov al,[esi]
; test, and manipulate character in al
jmp getNext
getNext: mov al,[esi]
cmp al,0
je exitProc
test al,01100000b ;test to see if its a lowercase letter
je toUpperCase
test al,01000000b
mov [edi],al
inc esi
toUpperCase: test al,01000000
AND al,11011111b
mov [edi],al
inc esi
jmp getNext
exitProc: mov outStr, edi
뭐가 잘못 됐나요? 어떤 오류가 발생하고 있습니까? 어떤 문제가 발생합니까? – FDinoff
FDinoff, 사과드립니다. 관련 C++ 코드로 op를 업데이트합니다. – tmaxxcar