Red de conocimiento informático - Conocimiento sistemático - Preguntas sobre programación en ensamblaje

Preguntas sobre programación en ensamblaje

; Pregunta 1: Calcular bl multiplicado por 20

; Almacenar el resultado del producto en bx

mov bh, 0

mov ch, 0; registrar el número de turnos

mov al, 20

s1:

shr al, 1; lógicamente desplaza el contenido en al hacia la derecha uno; posición

test cf, 1

jz s2; si cf es 0, salta directamente a s2

mov cl, ch

sal bx, cl

s2:

inc ch

cmp ch, 8

jnz s1

ret; final, producto El resultado se coloca en bx

; la pregunta 2 transfiere caracteres

segmento de código

suponga cs: código

proc principal lejos

p>

inicio:

push ds

push es

mov ax, 3000h

mov ds, ax

mov ax, 4000h

mov es, ax

mov si, 0

mov di, 0

mov cx , 50h

cld

rep movsb

pop es

pop ds

main endp

finales del código

end

Pregunta 3: Calcular el número de caracteres no numéricos

segmento de código<; /p>

supongamos cs: código

procedimiento principal lejos

inicio:

mov bx, 0;

ss1:

mov ah, 1

int 21h; ingresa un carácter en al

cmp al, '$'

jz display

; Determina si es 0-9

cmp al, '0'

jb ss2

cmp al, '9'

jbe ss1

ss2:

inc bx

jmp ss1

; muestra bx en formato binario Contenido en

pantalla:

mov cx, 16

ss3:

mov dl, '0'

shl bx, 1

cmp cf, 0

je ss4

inc dl

ss4:

mov ah, 02

int 21h

loop ss3

y finalmente genera 'B' para binario

; >mov dl,' b'

mov ah, 02

int 21h

final principal

el código termina

fin