0% found this document useful (0 votes)
69 views

Source Code 4 Sample

This document contains an assembly language program that demonstrates the use of the cmp instruction to set the flags and compares various values. It contains examples of signed and unsigned comparisons using cmp and shows how it can be used in a simple game to compare an input character to the number 5.

Uploaded by

Kishore Odugu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Source Code 4 Sample

This document contains an assembly language program that demonstrates the use of the cmp instruction to set the flags and compares various values. It contains examples of signed and unsigned comparisons using cmp and shows how it can be used in a simple game to compare an input character to the number 5.

Uploaded by

Kishore Odugu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

; 4_sample.

asm

name "flags"

org 100h

; this sample shows how cmp instruction sets the flags.

; usually cmp instruction is followed by any relative


; jump instruction such as: je, ja, jl, jae...

; it is recommended to click "flags" and "analyze"


; for better visual expirience before stepping through this code.

; (signed/unsigned)
; 4 is equal to 4
mov ah, 4
mov al, 4
cmp ah, al
nop

; (signed/unsigned)
; 4 is above and greater then 3
mov ah, 4
mov al, 3
cmp ah, al
nop

; -5 = 251 = 0fbh

; (signed)
; 1 is greater then -5
mov ah, 1
mov al, -5
cmp ah, al
nop

; (unsigned)
; 1 is below 251
mov ah, 1
mov al, 251
cmp ah, al
nop

; (signed)
; -3 is less then -2
mov ah, -3
mov al, -2
cmp ah, al
nop

; (signed)
; -2 is greater then -3
mov ah, -2
mov al, -3
cmp ah, al
nop

; (unsigned)
; 255 is above 1
mov ah, 255
mov al, 1
cmp ah, al
nop

; now a little game:


game: mov dx, offset msg1
mov ah, 9
int 21h

; read character in al:


mov ah, 1
int 21h

cmp al, '0'


jb stop

cmp al, '9'


ja stop

cmp al, '5'


jb below
ja above
mov dx, offset equal_5
jmp print
below: mov dx, offset below_5
jmp print
above: mov dx, offset above_5
print: mov ah, 9
int 21h
jmp game ; loop.

stop: ret ; stop

msg1 db "enter a number or any other character to exit: $"


equal_5 db " is five! (equal)", 0Dh,0Ah, "$"
below_5 db " is below five!" , 0Dh,0Ah, "$"
above_5 db " is above five!" , 0Dh,0Ah, "$"

; - asm2html -

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy