2013-06-20 65 views
0

我需要從一個字符數組打印單個字符像這一個:從char數組打印項目?

string DB 'ABC0','$' 

我知道我可以做這個打印整個字符串:

lea dx, string 
mov ah, 0Ah 
int 21h 

如何打印只是一個像「A」這樣的個人角色?

回答

0

您需要使用INT 21H/AH = 02H

mov  dl, byte ptr[string] 
mov  ah, 02h 
int  21h 

byte ptr意味着你想要的,好了,來自變量/指針的一個字節。要打印下一個字母,只需增加指針:

inc string 
+1

'inc string'?槍手是否會繼續工作? –

+0

你通常必須聲明它:inc w [string]有點東西 – ady

+0

如果你想要一封單獨的信,你就有兩個問題需要解決。 DX只有開始指針,指向「A」,因此您需要將指針向前調整爲所需的字母。其次,你的打印函數mov ah,INT21h只是盲目地從指向$終止符的字母打印出來,所以你需要一個INT21命令打印出一個單個字符(通常加載到AL) – ady

1

使用BIOS int 10h

mov ah, 0eh 
mov al, 'A' 
int 10h 

使用DOS int 21h

mov ah, 02h 
mov dl, 'A' 
int 21h