I.T.I. "Panetti" - BARI
25.03.99
00 |
dati |
Esercizio n.1 |
01 |
di |
Scrivi un programma in linguaggio Macro Assembler, producendo |
02 |
ingresso |
dapprima un flow-chart che soddisfi queste specifiche: |
03 |
1) In ingresso sono assegnati, a partire da num1, i primi 10 numeri interi | |
04 |
da 0 a 9. |
|
05 |
2) Calcoli i multipli per due e tre dei dati di ingresso trasferendo i risultati | |
06 |
nelle locazioni di memoria consecutive |
|
07 |
3) Spiegare le istruzioni utilizzate. | |
08 |
||
09 |
||
00 |
doppio |
|
02 |
||
04 |
. |
|
06 |
||
08 |
||
0A |
||
0C |
||
0E |
||
10 |
||
12 |
||
00 |
triplo |
|
03 |
||
06 |
||
09 |
||
0C |
||
0F |
||
12 |
||
15 |
||
18 |
||
1B |
Esercizio n.2
Indicare l'operazione svolta da ciascuna istruzione che tu
conosci.
Realizza il trace, costruendo una tabella in cui inserisci i valori di AX, CX e DX ad ogni
ciclo compreso tra l'istruzione di etichetta SU e l'istruzione precedente a quella di
etichetta FINE.
;----------------------------------------------------------
; RADQ.ASM
; Esegue la radice quadrata intera approssimata per difetto
; Algoritmo delle sottrazioni successive
;----------------------------------------------------------
STACK SEGMENT PARA STACK 'STACK'
DB 64 DUP ('MYSTACK ')
STACK ENDS
DATA SEGMENT PARA PUBLIC 'DATA'
INGR DW 122
USCI DW ?
COD2 DW 6 DUP(0)
DATI DB 16 DUP('DAT ')
DATA ENDS
CODE SEGMENT PARA PUBLIC 'CODE'
MAIN PROC FAR
ASSUME CS:CODE, DS:DATA, SS:STACK
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
XOR DX, DX
MOV CX, 01H
MOV AX, INGR
SU: SUB AX, CX
JL FINE
INC DX
ADD CX, 02H
JMP SU
FINE: MOV USCI, DX
RET
MAIN ENDP
CODE ENDS
END MAIN