Download presentation
Presentation is loading. Please wait.
1
9/17/2018 Kiến Trúc Máy Tính
2
9/17/2018 Kiến Trúc Máy Tính
3
9/17/2018 Kiến Trúc Máy Tính
4
9/17/2018 Kiến Trúc Máy Tính
5
9/17/2018 Kiến Trúc Máy Tính
6
9/17/2018 Kiến Trúc Máy Tính
7
9/17/2018 Kiến Trúc Máy Tính
8
9/17/2018 Kiến Trúc Máy Tính
9
9/17/2018 Kiến Trúc Máy Tính
10
9/17/2018 Kiến Trúc Máy Tính
11
9/17/2018 Kiến Trúc Máy Tính
12
9/17/2018 Kiến Trúc Máy Tính
13
9/17/2018 Kiến Trúc Máy Tính
14
9/17/2018 Kiến Trúc Máy Tính
15
9/17/2018 Kiến Trúc Máy Tính
16
9/17/2018 Kiến Trúc Máy Tính
17
9/17/2018 Kiến Trúc Máy Tính
18
9/17/2018 Kiến Trúc Máy Tính
19
9/17/2018 Kiến Trúc Máy Tính
20
9/17/2018 Kiến Trúc Máy Tính
21
9/17/2018 Kiến Trúc Máy Tính
22
9/17/2018 Kiến Trúc Máy Tính
23
9/17/2018 Kiến Trúc Máy Tính
24
9/17/2018 Kiến Trúc Máy Tính
25
9/17/2018 Kiến Trúc Máy Tính
26
9/17/2018 Kiến Trúc Máy Tính
27
9/17/2018 Kiến Trúc Máy Tính
28
9/17/2018 Kiến Trúc Máy Tính
29
9/17/2018 Kiến Trúc Máy Tính
30
9/17/2018 Kiến Trúc Máy Tính
31
9/17/2018 Kiến Trúc Máy Tính
32
Ví dụ 1 include emu8086.inc ORG 100h PRINT 'Hello CDTH14A for Assemble!' GOTOXY 1, 15 PUTC 65 ; 65 - is an ASCII code for 'A' PUTC 'B' Putc 66 putc 'A' RET ; return to operating system. END ; directive to stop the compiler. 9/17/2018 Kiến Trúc Máy Tính
33
Ví dụ 2 name "vga" ; this program draws a tiny rectangle in vga mode. org 100h jmp code ; dimensions of the rectangle: ; width: 10 pixels ; height: 5 pixels w equ 100 h equ 50 ; 9/17/2018 Kiến Trúc Máy Tính
34
set video mode 13h - 320x200 code: mov ah, 0 mov al, 13h int 10h ; draw upper line: mov cx, 100+w ; column mov dx, 20 ; row mov al, 15 ; white u1: mov ah, 0ch ; put pixel dec cx cmp cx, 100 jae u1 ; draw bottom line: 9/17/2018 Kiến Trúc Máy Tính
35
mov cx, 100+w ; column mov dx, 20+h ; row mov al, 15 ; white u2: mov ah, 0ch ; put pixel int 10h dec cx cmp cx, 100 ja u2 ; draw left line: mov cx, 100 ; column u3: mov ah, 0ch ; put pixel dec dx cmp dx, 20 ja u3 9/17/2018 Kiến Trúc Máy Tính
36
; draw right line: mov cx, 100+w ; column mov dx, 20+h ; row mov al, 15 ; white u4: mov ah, 0ch ; put pixel int 10h dec dx cmp dx, 20 ja u4 9/17/2018 Kiến Trúc Máy Tính
37
; pause the screen for dos compatibility: ;wait for keypress mov ah,00 int 16h ; return to text mode: mov al,03 ;text mode 3 int 10h ret 9/17/2018 Kiến Trúc Máy Tính
38
Ví dụ 3 name "add-sub" org 100h mov al, 5 ; bin= b mov bl, 10 ; hex=0ah or bin= b ; = 15 (decimal) or hex=0fh or bin= b add bl, al ; = 14 (decimal) or hex=0eh or bin= b sub bl, 1 9/17/2018 Kiến Trúc Máy Tính
39
; print result in binary: mov cx, 8 print: mov ah, 2 ; print function
; print result in binary: mov cx, 8 print: mov ah, 2 ; print function. mov dl, '0' test bl, b ; test first bit. jz zero mov dl, '1' zero: int 21h shl bl, 1 loop print ; print binary suffix: mov dl, 'b' int 21h ; wait for any key press: mov ah, 0 int 16h ret 9/17/2018 Kiến Trúc Máy Tính
40
Ví dụ 4 9/17/2018 Kiến Trúc Máy Tính
name "hi-world" ; this example prints out "hello world!" ; by writing directly to video memory. ; in vga memory: first byte is ascii character, byte that follows is character attribute. ; if you change the second byte, you can change the color of ; the character even after it is printed. ; character attribute is 8 bit value, ; high 4 bits set background color and low 4 bits set foreground color. ; hex bin color ; ; black ; blue ; green ; cyan ; red ; magenta ; brown ; light gray ; dark gray ; light blue ; a 1010 light green ; b 1011 light cyan ; c 1100 light red ; d 1101 light magenta ; e 1110 yellow ; f 1111 white 9/17/2018 Kiến Trúc Máy Tính
41
org 100h ; set video mode mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3) int 10h ; do it! ; cancel blinking and enable all 16 colors: mov ax, 1003h mov bx, 0 int 10h ; set segment register: mov ax, 0b800h mov ds, ax 9/17/2018 Kiến Trúc Máy Tính
42
; print "hello world" ; first byte is ascii code, second byte is color code. mov [02h], 'S' mov [04h], 'a' mov [06h], 'i' mov [0ah], 'G' mov [0ch], 'o' mov [0eh], 'n' mov [12h], 'd' mov [14h], 'e' mov [16h], 'p' mov [1ah], 'l' mov [1ch], 'a' mov [1eh], 'm' 9/17/2018 Kiến Trúc Máy Tính
43
; color all characters: mov cx, 15 ; number of characters.
mov di, 03h ; start from byte after 'h' c: mov [di], b ; light red(1100) on yellow(1110) add di, 2 ; skip over next ascii code in vga memory. loop c ; wait for any key press: mov ah, 0 int 16h ret 9/17/2018 Kiến Trúc Máy Tính
44
Thanks See you next Subjects
9/17/2018 Kiến Trúc Máy Tính
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.