Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .387
- assume cs:cseg, ds:dseg
- uint TYPEDEF word
- integer TYPEDEF word
- float TYPEDEF real4
- double TYPEDEF real8
- largh = 320 ;larghezza dello schermo
- alt = 200 ;altezza dello schermo
- dseg SEGMENT para public 'data'
- maxX integer 0
- maxY integer 0
- xCoord integer 0
- yCoord integer 0
- x0 double 0.0 ;coordinata x del pixel riscalata a (-2.1 - 1.1)
- y0 double 0.0 ;coordinata y del pixel riscalata a (-2.1 - 1.1)
- scaleX double 3.2
- scaleY double 2.0 ;scala in X ed in Y delle coordinate
- offsetX double 2.1
- offsetY double 1.0
- x double 0.0
- y double 0.0 ;valori della serie in un determinato punto (xo, yo)
- zeroConst double 0.0 ;costante double 0.0
- dseg ENDS
- cseg SEGMENT
- START:
- mov maxX, largh
- mov maxY, alt
- mov xCoord, 0
- forX: cmp xCoord, largh
- jae finish
- ;mov dl,69
- ;mov ah,2
- ;int 21h ;test loop forX
- mov yCoord, 0
- cmp yCoord, alt
- jae nextX
- forY: cmp yCoord, alt
- jnb nextX
- ;forY code here
- finit
- fld scaleX ;coordinate X
- fimul xCoord
- fidiv maxX
- fsub offsetX ;calcolo scala * coordinata / coordinataMax - offset
- fstp x0
- ; fld scaleY ;coordinate Y
- ; fimul yCoord
- ; fidiv maxY
- ; fsub offsetY ;calcolo scala * coordinata / coordinataMax - offset
- ; fstp y0
- ;
- ; fld zeroConst
- ; fst x
- ; fstp y
- inc yCoord
- jmp forY
- nextX: inc xCoord
- jmp forX
- finish: mov dl, 70
- mov ah, 2
- int 21h
- mov ah, 4Ch ;DOS terminate opcode
- xor al, al
- int 21h ;DOS call
- cseg ENDS
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement