Moduri de adresare 1
inc CH, plus 1 la conținut CH
împinge DS, DS este stocat în stivă
XCHG BX, BP, BX și BP conținut parts
mov ES, AX, AX este trimis la conținut ES
mov ah, 40h; 40h număr este încărcat în Academia de Științe
mov al, '*'; cod ASCII caracter "*" este încărcat în AL
int 21h; întrerupe comanda cu un argument 21h
limită = 528; Numărul 528 primește o limită de desemnare
mov CX, limita, numărul de limită desemnat, este încărcat în CX
mes db „Lectia 1“; șir de caractere
meml dw 0; cuvânt de memorie conține 0
mem2 db 230; 230 Bytes cuprinde
; Segment de comandă
inc meml; Cuvinte de conținut meml crește cu 1
mov DX, meml; Conținutul cuvinte cu numele meniului este încărcat în DX
mov AL, mem2; Conținutul de octeți pe nume mem2 încărcate în AL
ES mov, AX; Trimite-ES
mov byte ES ptr: 0“. „; Trimite-ne simbol pe 1 ecran familiaritate
byte mov ES ptr: 2“. „; Trimite-ne simbol pe 2 ecran familiaritate
mov byte ES ptr: 0“. '
PTR ES: mov cuvânt 0 '!'
mov al, '!' ES mov: 0, AL
Aici, operandul sursă este registrul AL, a cărui dimensiune (1 octet) este cunoscut, iar dimensiunea receptorului operand nu este necesar să se definească. Desigur, echipa
Mi-ar trebui să trimită un număr de 10 în numărul 6, care, desigur, nu are niciun sens și nu poate fi îndeplinită. echipa, de asemenea,
mov byte ES ptr: [BX]“. „Simbolul de pe ecran
mov byte ptr [BX]“. „Simbolul de pe ecran
Apropo, această piesă un pic mai eficient în sensul alocării de memorie anterioară. Din cauza absenței în ultimul segment de instrucțiuni de înlocuire prefix de cod, este nevoie de un octet mai puțin spațiu.
Registre BX, SI și DI, în prezenta cerere perfect echivalente și la fel de bine posibil să se utilizeze oricare dintre ele:
mov byte ptr [DI]. “. „Simbolul de pe ecran
mov byte ES ptr: [BX]. “. „Simbolul de pe ecran
Puteți utiliza unul
DI mov, 80 * 24 * 2; Offset la linia de jos a ecranului
mov byte ptr ES: [DI], 'D'; Simbol pe ecran
ES byte ptr mov: 2 [DI], 'K', poziția simbolului următor scriere
mov ES: byte ptr 4 [DI]“. „; Scriem caracterul în poziția următoare
împinge DS; Valorile de încărcare stivă
împinge ES; trei registre,
împinge SI; subrutină transmise
apelați mysub; mysub Call subrutina
; Utilizarea acestor setări
mov AX, 2 [BP]; AX citit în ultimul parametru (SI)
mov BX, 4 [BP]; BX citit în parametrul anterior (ES)
mov CX, 6 [BP]; CX citit în primul parametru (DS)
Ris.2.15. Teancul după încărcare în ea trei parametri și trecerea la subrutina
mov SI, 0; Valoarea inițială a elementului în matrice index
mov AX, 0; Primul număr substituent
mov CX, 10.000, numărul de etape în ciclul (întotdeauna pe CX)
umple: mov array [SI], AX; Stocarea numerelor în elementul de matrice
inc AX; Incrementați număr substituent
adaugă SI, 2, compensat în matrice la cuvântul următor
buclă de umplere, Întoarceți-vă la semnul de umplere (CX ori)
[VH] [SI] (implicite DS: [BX] [SI])
[BX] [DI] (presupus DS: [BX] [DI])
[BP] [SI] (SS implicite: [BP] [SI])
[BP] [DI] (SS implicite: [BP] [DI])
mov SI, 0; Valoarea inițială a indicelui
; Element în matrice
mov AX, 0; Primul număr substituent
mov CX, 10.000, numărul de etape din ciclul
umple: mov [BX] [SI], AX; ne trimite numărul într-o matrice
inc AX; Incrementați număr substituent
adaugă SI, 2, compensat în matrice la cuvântul următor
bucla de umplere, pe marcaj de umplere (CX ori)
sims db „QWERTYUIOP<>'
mov BX, 12, numărul de octeți pe linie
mov BX, off set Sym