Testo:
Si scriva un programma in linguaggio Assembler 8086 che esegua le seguenti operazioni:
a)Definisca una variabile VAR su 16 bit inizializzata a piacimento
b)Calcoli il numero di bit al valore 1 contenuti nella variabile e ponga il risultato in una variabile RIS di dimensione opportuna
c)Controlli se il quarto bit di VAR (a partire dal meno significativo) vale 1
c1)In caso positivo, inverta il segno del valore contenuto in RIS
c2)Altrimenti non esegua alcuna operazione
Note: il valore di VAR non deve essere distrutto durante l’elaborazione.
Soluzione:
N EQU 16
.model small
.stack
.data
var dw 234
ris dw 0
.code
.startup
MOV AX, var
MOV CX, N
ciclo:
SHL AX, 1
JNC fine
INC ris
fine:
LOOP ciclo
MOV AX, ris
SHR AX, 4
JNC finito
NEG ris
finito:
.exit
end
| < Prec. | Succ. > |
|---|






