Professional Documents
Culture Documents
Lab Report #4
Lab Report #4
#4
SUBJECT: MICROPROCESSOR AND ASSEMBLY
LANGUAGE
SUMITTED TO: SIR AHMAD JUNAID
SUBMITTED BY: ESHA SAFDAR
CLASS CODE: CU-576-2017
DATED: 11th MAY 2019
Q)Write a program to implement the following arithmetic expressions.
ANSWER:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
.data
RvalDWORD ?
Xval DWORD 20
Yval DWORD 30
Zval DWORD 40
.code
main PROC
moveax,Xval;20
negeax;-20
movebx,Yval;30
sub ebx,Zval;-10
add eax,ebx;-30
movRval,eax
call DumpRegs
exit ENDP
END main
OUTPUT:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
;increment a value
.code
main PROC
mov eax,10000h
inceax
call DumpRegs
main ENDP
END main
OUTPUT:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
;decrement a value
.code
main PROC
mov eax,10000h
deceax
call DumpRegs
main ENDP
END main
OUTPUT:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
;overlapping values
.data
oneByte BYTE 78h
oneWord WORD 1234h
oneDword DWORD 12345678h
.code
main PROC
mov eax,0
moval,oneByte
movax,oneWord
moveax,oneDWord
mov ax,0
call DumpRegs
exit
main ENDP
END main
OUTPUT:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
.code
main PROC
mov cx,1
sub cx,1
mov ax,0FFFFh
inc ax
call DumpRegs
main ENDP
END main
OUTPUT:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
.code
main PROC
mov cx,0
sub cx,1
mov ax,7FFFh
add ax,2
call DumpRegs
main ENDP
END main
OUTPUT:
CODE:
INCLUDE C:\Irvine\Irvine32.inc
includelib C:\Irvine\Irvine32.lib
.code
main PROC
mov bx,0A69Bh
movzxeax,bx
movzxedx,bl
movzxcx,bl
call DumpRegs
main ENDP
END main
OUTPUT: