Preguntas sobre programación en lenguaje ensamblador, en total ***tres preguntas. Pídale una respuesta al maestro. Si el valor de la riqueza es insuficiente, se puede discutir.
Mi qq874746173
Pregunta 20.1:
¿CÓDIGO? SEGMENTO ASUMECCS:CÓDIGO ORG100H INICIO:?JMPBEGIN FUENTE?DB0AAH,74H,0EEH,0A8H,43H,0EEH,0AAH,31H,0EEH,0AAH, 10H,0EEH
COUNT?EQU$-SOURCE RESULT?DBCOUNT/3?DUP(?) BEGIN: PUSH?CS POPDS PUSH?CS POPES LEASI,SOURCE LEADI,RESULT MOVCX,COUNT SUBCX,2 @ 0 : LODSB CMPAL,0AAH JNE@2 CMPBYTE?PTR[SI+1],0EEH JNE@2 MOVAL,[SI] STOSB ;?add?si,2 @2: LOOP?@0 MOVAH,4CH INT21H
CÓDIGO?ENDS ENDSTART
Pregunta 20.2:
CÓDIGO?SEGMENTO ASSUMECS:CÓDIGO ORG100H INICIO:?JMPBEGIN FUENTE?DB'abc',13,10,'123' ,13 ,10,'+-*',13,10,00 RESULTADO?DB100?DUP(?) BEGIN:?PUSH?CS POPDS PUSH?CS POPES LEASI,SOURCE LEADI,RESULTADO @0: LODSW?;?Cargar palabra DECSI? ;?si menos uno, equivalente a cargar el byte CMPAX,0A0DH;?Comparar avance de línea y retorno de carro JNE@1?;?No es igual a conversión?@1 INCSI?;?¿Cuando es igual?si más un salto?0AH STOSB?; ?Transmitir?al JMP@0?;?Inicio del ciclo de giro @1: CMPAL,0;?al?y?00?Comparar JE@2?;?igual?giro?@2 STOSB?;?no es igual cuando ?Transmitir al JMP@0?;?Inicio del ciclo de giro @2: STOSB?;?Transmitir?00 MOVAH,4CH INT21H
CODE?ENDS ENDSTART
Pregunta 20.3:
p>código?segmento asumir?cs:código org?100h
inicio: jmp?bbb
resultado?db?100?dup(?)
count?dw?0
bbb:?push?cs pop?ds push?cs pop?es mov?word?ptr?count,0 mov?cx,101 lea?di,result inc di mov? ?si,100
mlp: mov?ax,si call?f cmp?ax,1 jne?@1 inc?word?ptr?count mov?ax,si stosb
@1: inc?si loop?mlp mov?ax,count mov?result[0],al
;?call?writeint mov?ah,4ch int?21h
; ?Ponga el número a juzgar en ax
;?Cuando ax devuelve 1, significa que es un número primo
;?Cuando ax devuelve 0, significa que es un número compuesto número
f?proc?near jmp?f1
x?dw?
x2dw?
f1:mov?[x] ,hacha shr?hacha,1 mov?
[x2],ax mov?bx,2
flp:?mov?dx,0 mov?ax,[x] div?bx cmp?dx,0 je?f2 inc?bx cmp?bx, [x2] jle?flp mov?ax,1 ret
f2:mov?ax,0 ret
f?endp
código?ends end?start