解答1:大文字に変換
CODE SEGMENT ASSUME DS:CODE,CS:CODE,ES:CODE,SS:CODE .186 ORG 100h START: mov ah,8 int 21h ;文字入力 cmp al,0dh jz EXIT ;リターンキーなら終了 cmp al,'a' ;↓小文字かどうかのチェック jb DISP cmp al,'z' ja DISP ;↑ここまで and al,11011111b ;to upper charactar DISP: mov dl,al mov ah,2 int 21h ;表示 jmp short START EXIT: mov ax,4c00h int 21h ;終了 ENDS END START ; 一部のコンパイラでは、 ;CODE ENDS ; END START ;と記述しなければいけないようです解答2:大文字、小文字を逆転
CODE SEGMENT ASSUME DS:CODE,CS:CODE,ES:CODE,SS:CODE .186 ORG 100h START: mov ah,8 int 21h ;文字入力 cmp al,0dh jz EXIT ;リターンキーなら終了 cmp al,'A' ;↓アルファベットかどうかのチェック jb DISP cmp al,'Z' jbe XCHANGE cmp al,'a' jb DISP cmp al,'z' ja DISP ;↑ここまで XCHANGE: xor al,00100000b ;大文字、小文字逆転 DISP: mov dl,al mov ah,2 int 21h ;表示 jmp short START EXIT: mov ax,4c00h int 21h ;終了 ENDS END START ; 一部のコンパイラでは、 ;CODE ENDS ; END START ;と記述しなければいけないようです