さて、ここにコードがあります:
assume cs:code, ds:data
data segment
sname db 'Some Name','$'
len equ $-sname
ascii db 'a'-'A'
data ends
code segment
start:
mov ax,data
mov ds,ax
cld
lea si,sname
do_this:
lodsb
cmp al,61h
jae lowercase
uppercase:
cmp si,len
je the_end
jmp continue
lowercase:
mov bl,ascii
sub ax,bx
mov ds:[si-1],al
cmp si,len
je the_end
continue:
loop do_this
the_end:
mov ax,0000
lea dx,sname
mov ah,09h
int 21h
mov ax,4c00h
int 21h
code ends
end start
基本的には、文字列'sname'のすべての小文字を大文字に変換するだけです。私の質問は、このコードを2つのモジュールに分割し、そのうちの1つが文字列印刷部分を処理する方法です。具体的には、大文字への文字列変換を処理する.asmモジュールと、以下を処理するモジュールが必要です。
lea dx,sname
mov ah,09h
int 21h
これに関する良いチュートリアルが見つからないようですので、いくつかのチュートリアルを教えていただければ幸いです。そうでない場合は、2つの.asmモジュールを組み合わせる方法の簡単な例(必要なディレクティブなど) ) 、 素晴らしいことだ。