UMBC CMSC211 |
mov ax, 9876h ; mov al, 0d5h ; ax =________________________________
Stuff DW 89ABh MoreOfIt DB 10h Nonsense DB 32h ... mov ax, Stuff ;ax = _____________ mov ax, 7654h mov ah, MoreOfIt ;ax = _____________ mov al, Nonsense ;ax = _____________ mov ax, 7654h mov al, ah ;ax = _____________ mov ax, 7654h mov ah, 'a' ;ax = _____________ (HINT: 'a' = 97 = 61h) mov ax, 7654h mov ax, 'a' ;ax = _____________ mov ah, MoreOfIt mov al, MoreOfIt + 1 ;ax = ___________ mov ah, 'a' mov al, 'a' + 1 ;ax = _____________ mov ah, 5 mov al, 8 ;ax = _____________
You owe me $nnnn
Pay the $2.00
One thing Leads to another
Enter amount: 1234 The amount was $1234
X = A / ( 5 + B );
if (A + 4 < B) { X = X / 2; }
if ( (A < B) || (C = = 0) ) { X = 12; }
A db 12h C dw 4321h .... mov ax, 1234h ; ax = _____________ mov al, A ; ax = _____________ mov ax, 1234h mov ax, C ; ax = _____________ mov ax, 3FFFh inc ax ; ax = _____________ mov ax, 3FFFh inc AL ; ax = _____________ mov ax, -1 mov bx, -1 imul bx ; ax = _____________ ; dx = _____________
mov ax, 1234h mov al, -1 ; ax = _____________ inc ax mov ax, 1234h inc al ; ax = _____________ mov al, 80h cbw ; ax = _____________ mov al, 77h cbw ; ax = _____________ mov ax, -1 mov bx, 3 mul bx ; ax = _____________ ; dx = _____________ mov ax, -1 ; bx still contains 3 imul bx ; ax = _____________ ; dx = _____________
mov ax, 1200h dec ax ; ax = _____________ mov ax, 1200h dec al ; ax = _____________ mov al, FEh cbw ; ax = _____________ mov al, 5Eh cbw ; ax = _____________ mov ax, -1 mov bx, 5 imul bx ; ax = _____________ ; dx = _____________ mov ax, 3 ; bx is still 5 mul bx ; ax = _____________ ; dx = _____________ mov ax. 3 imul bx ; ax = _____________ ; dx = _____________ mov ax, 27 cwd ; ax = _____________ mov ax, 5 idiv bx ; ax = _____________ ; dx = _____________ mov ax, -2 cwd mov bx, 2 idiv bx ; ax = _____________ ; dx = _____________ mov ax, -2 cwd mov ax, 2 div bx ; ax = _____________ ; dx = _____________
if (A > 14) A = 0;
if (X <= Y) { A = X; }< else { A = Y; }
if ( (A >= B + 3) || (X = 100) ) br> M = 2 * M;
while (A < B) {br> A = A + 1; B = B / 2; }
if ( (a > 4) || (rate = 15) ) { b = a + 10; } else { b = a; }
while ( X > 0 ) { X = X - 12; b A = A + 1; }
if ( C <= 5 ) { X = X + 1; } else { Y = Y - 1; }
if (( A == 4) && (B > X + 7)) { Y = 0 }
if (A > X + 5) { Max = A; } else { Max = X + 5; }
while (M != N) {br> if (M > N) { M = M - N; } else { N = N - M: }
if ((Day = = 1) || (Day = = 7)) { Weekend = 1 ; }
if (X < 0) { Sgn = -1; } else if (X > 0) { Sgn = 1; } else { Sgn = 0; }
if ((a > 4) || (rate = 15) ) { b = a + 10; } else { b = a; }
Count = 0; ReadKey = getchar( ); /*ASCII value goes to al */ while (al == '*') br> { Count = Count + 1; ReadKey = getchar( ); } /* Note: onlyone getchar( ) required! */
for( I = 1; I <= 80; I++) { printf("*"); }
Sum = 0; for (I = 1; I <= 100; I++) { Sum = Sum +I; } printf("The sum is %d\n", Sum);
AMac MACRO a, b, c cmp a, b jz c ENDM
AMac MACRO a, b, c cmp a, b jz c ENDM
BMac MACRO a, b, z, c cmp a, b jz c ENDM
CMac MACRO a, b, z, c cmp a, b j&z& c ENDM
LongJZ MACRO aLabel jnz around jmp aLabel around: ENDM
mov ax, 5 shl ax, 1 ; ax =_____________________ mov ax,10011100101b ; binary and ax,11001001110b ; ax =_____________________
mov bl, 11110000B and bl, 11001100B ; bl =_____________________ mov bl, 11110000B or bl, 11001100B ; bl =_____________________ mov bl, 11110000B xor bl, 11001100B ; bl =_____________________ mov bl, 11110000B not bl ; bl =_____________________ mov bl, 11110000B shl bl, 1 ; bl =_____________________ mov bl, 11110000B rol bl, 1 ; bl =_____________________ mov bl, 11110000B shr bl, 1 ; bl =_____________________ mov bl, 11110000B sar bl, 1 ; bl =_____________________
MASK EQU 00111100B mov al, 11100101B and al, MASK ; al =_____________________ mov al, 11100101B or al, MASK ; al =_____________________ mov al, 11100101B xor al, MASK ; al =_____________________ mov al, 11100101B not al ; al =_____________________ mov al, 11100101B neg al ; al =_____________________ mov al, 11100101B shr al, 1 ; al =_____________________ mov al, 11100101B sar al, 1 ; al =_____________________ mov al, 11100101B ror al, 1 ; al =_____________________
mov cx, 0 CountLoop: shr ax, 1 jc Done ; Jump if carry bit set inc cx jmp CountLoop
mov bx, OFFSET SomeWds+4 mov ax, [4 + bx] ; ax =_____________________ mov ax, [-4 + bx] ; ax =_____________________ mov bx, 8 mov ax, [SomeWds + bx] ; ax =_____________________ mov ax, [SomeWds+4 + bx] ; ax =_____________________ mov ax, [SomeWds-2 + [bx] ; ax =_____________________ mov ax, [SomeWds+1+bxl ; ax =_____________________ (NOTE: the last one is a trick question, but it does have an answer!)
mov bx, OFFSET SomeWds+4 mov ax, [4+bx] ; ax = _____________________ mov ax, [-4+bx] ; ax = _____________________ mov bx, 8 mov ax, [SomeWds+bx] ; ax = _____________________ mov ax, [SomeWds+4+bx] ; ax = _____________________ mov ax, [SomeWds-2+bx] ; ax = _____________________ mov ax. BYTE PTR SomeWds ; ax = _____________________ mov ax, SomeWds+1 ; ax = _____________________
A DB 98h B DB 76h C DW 5432h
A: B: C: D: _________________________________ | | | | | _________________________________
A DB 0Ah, lAh, 2Ah, 3Ah, 4Ah, 5Ah B DW 0Bh, 1Bh, 2Bh, 3Bh, 4Bh mov al, [A] ; al = ________________ mov al, [A + 3] ; al = ________________ mov ax, [B + 2] ; ax = ________________ mov ax, [B + 6] ; ax = ________________ mov ax, [B - 2] ; ax = ________________ mov al, 11001010B shr al, 1 ; al = ________________ mov al, 11001010B sar al, 1 ; al = ________________ mov al, 11001010B ror al, 1 ; al = ________________ mov al, 11001010B shl al, 1 ; al = ________________ mov al, 11001010B sal al, 1 ; al = ________________ mov al, 11001010B rol al, 1 ; al = ________________ mov cl, 5 mov al, 11001010B rol al, cl ; al = ________________ mov al, Ofh shl al, 1 ; al = ________________ mov al, 11001010B and al, 01111000B ; al = ________________ mov al, 11001010B or al, 01111000B ; al = ________________ mov al, 11001010B xor al, 01111000B ; al = ________________
A DB 98h B DB 76h C DW 5432h
mov ax, 1234h ; ax = ______________ mov al, A ; ax = ______________ mov ax, 1234h ; mov ax, C ; ax = ______________ mov ax, 1234h mov ax, WORD PTR A ; ax = ______________ mov ax, 1234h mov ax, WORD PTR B ; ax = ______________ mov ax, 1234h mov ah, BYTE PTR C ; ax = ______________
P DW 5, 18, 4, 23, -7, 432, 277, 1
mov bx, OFFSET P mov ax, [4 + bx] ; ax = ______________ mov bx, OFFSET P+6 mov ax, [4 + bx] ; ax = ______________ mov ax, [-4 + bx] ; ax = ______________ mov bx, 6 mov ax, [P + bx] ; ax = ______________ mov ax, [P - 2 + bx] ; ax = ______________ mov ax, [P + 6 + bx] ; ax = ______________
sub ax, ax mov bx, OFFSET A mov cx, 20 mov dx, 1 Aloop: mov [bx], ax add bx, 2 add dx, 2 loop Aloop
A DW 0A00h, 0A0lh, 0A02h, 0A03h B DW 0B00h, 0B0lh, 0B02h C DW 0C00h, 0C0lh, 0C02h, 0C03h, 0C04h N DW 3
mov ax, [B] ; ax = ______________ mov ax, [B+4] ; ax = ______________ mov ax, [B - 4] ; ax = ______________ mov al, BYTE PTR [B+1] ; ax = ______________ mov ax, [A+16] ; ax = ______________ mov bx, 4 mov ax, [A + bx] ; ax = ______________ mov ax, [A + 2 + bx] ; ax = ______________ mov bx, OFFSET B mov ax, [bx] ; ax = ______________ mov ax, [2 + bx] ; ax = ______________ mov ax, [C - B + bx] ; ax = ______________ mov si, 2 mov ax, [bx + si] ; ax = ______________ mov ax, [2 + bx + si] ; ax = ______________ mov bx, N shl bx, 1 mov ax, [A + bx] ; ax = ______________ mov ax, [A - 2 + bx] ; ax = ______________
C DB ? HexDig DB '0123456789ABCDEF' D DW ?
C DW 0C00h, 0C01h, 0C02h, 0C03h, 0C04h, 0C05h, 0C06h N DW 4
mov ax, [C+4] ; ax = ________________________ mov si, 6 mov ax, [C + si] ; ax = ________________________ mov ax, [C - 2 + si] ; ax = ________________________ mov bx, OFFSET C mov ax, [bx + si] ; ax = ________________________ mov bx, N shl bx, 1 mov ax, [C + bx] ; ax = ________________________ ; mov ax, [C - 2 + bx] ; ax = ________________________
023A:2130, 04413:0002, 033A:1137 _________________________(lowest address) _________________________ _________________________ (highest address)
24A2:0123, 213B:3810, 2322:0A31 low _________________________ _________________________ high _________________________
Cmd Len | \/ _____________________________________________________________ | | | | | | | | | | | _____________________________________________________________ | | | | | | | | | | | _____________________________________________________________ | | | | | | | | | | | _____________________________________________________________
SegA SEGMENT PUBLIC A DW ? SegA ENDS SegB SEGMENT PUBLIC B DW ? SegB ENDS SegC SEGMENT PUBLIC C DW ? SegC ENDS
ASSSUME ds : SegA, es : SegB
mov A, ax ; override = _________________________ mov B, ax ; override = _________________________ mov C, ax ; override = _________________________ mov [B+bx], ax ; override = _________________________ mov bx, OFFSET B mov[2+bx], ax ; override = _________________________
SegA SEGMENT PUBLIC A DW ? SegA ENDS SegB SEGMENT PUBLIC B DW ? SegB ENDS SegC SEGMENT PUBLIC C DW ? SegC ENDS
mov A, ax ; override = _________________________ mov B, ax ; override = _________________________ mov C, ax ; override = _________________________ mov bx, OFFSET B mov [2+bx], ax ; override = _________________________ mov bx, 2 mov [B+bx], ax ; override = _________________________
int absdif( int x, int y) { if ( x > y ) { return ( x - y ); } else { return ( y - x ); } }
mov ax, 104 push ax mov ax, -86 push ax call TestProc; assuming small model ... ... TestProc PROC push bp mov bp, sp mov ax, 77 push ax <you are here>
_________________________ high addresses _________________________ _________________________ _________________________ BP-> _________________________ _________________________ _________________________ _________________________ _________________________ low addresses
void SetIt( int *x, int y ) { x= y; } .MODEL SMALL x EQU DWORD PTR y EQU WORD PTR SetIT PROC push bp mov bp, sp push _________________________ push _________________________ push _________________________ ___ si, x mov ax, ___ mov __ , ax pop _________________________ pop _________________________ pop _________________________ pop _________________________ ret SetIt ENDP
mov ax, 18 push ax mov ax, -7 push ax call aProc
push bp mov bp, sp mov ax, 234 push ax
[ -2 + bp] _________________________ [bp] _________________________ [2 + bp] _________________________ [4 + bp] _________________________
int sign( int x ) { if ( x < 0 ) { return -1; } else if ( x == 0 ) { return 0; } else { return 1 } }
mov ax, 123 push ax mov ax, -22 push ax call Subr L1: .... Subr PROC push bp mov bp,sp sub sp,4 mov [bp - 4], 44 orig. bp -> _________________________ orig. sp -> _________________________ _________________________ _________________________ _________________________ _________________________ _________________________ _________________________ _________________________ _________________________