Se definen 100 bytes en la unidad comenzando en la dirección de memoria BUFF. La programación requiere que los 100 bytes se completen desde 2.
¿CÓDIGO?SEGMENTO ASSUMECS:CÓDIGO
BUFF?DB100?DUP(?)
N?EQU$-BUFF
X? DW0
Y?DW0
Z?DW0 INICIO:?PUSH?CS POPDS PUSH?CS POPES MOVAL, 2 MOVCX, N LEADI, BUFF CLD @1: STOSB ADDAL, 2 LOOP ?@1 LEASI, BUFF MOVCX, N @2: LODSB CBW ADDX, AX ORAX, AX JNS @3 ADDZ, AX INCY @3: LOOP @2 MOVAX, Y MOVBX, 16 DSPAXX MOVAH, 4CH INT21H
;=================================?;?Ingrese el valor de ax y el acarreo de salida. el sistema está configurado en bx, bx=2~16? DSPAXX?PROC?NEAR PUSH?AX PUSH?BX PUSH?CX PUSH?DX PUSHF XORCX, CX;?MOVBX, 16 @DSPAXX_1: DX CMPAX, 0 JNE@DSPAXX_1 MOVAH , 2 @DISPAXX_2: POPDX CMPDL, 3AH JB@DISPAXX_3 ADDDL, 7 @DISPAXX_3: INT21H LOOP?@DISPAXX_2 MOVDL, 32 INT21H POPF POPDX POPCX POPBX POPAX RET DSPAXX?ENDP
;====== ==========================
CÓDIGO?ENDS ENDSTART