text:
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
sophia
>
Hoạt động cuối:
23/3/12
Tham gia ngày:
23/3/12
Bài viết:
0
Đã được thích:
0
Điểm thành tích:
0
sophia
New Member
sophia được nhìn thấy lần cuối:
23/3/12
Tin nhắn hồ sơ
Các bài đăng
Thông tin
Hiện tại không có tin nhắn trong hồ sơ của sophia.
Show Ignored Content
Đang tải...
Xem
Tương tác
Nội dung:
Tìm tất cả nội dung bởi sophia
Tìm tất cả chủ đề bởi sophia
Đăng nhập bằng Facebook
Đăng nhập bằng Google
Tên tài khoản hoặc địa chỉ Email:
Bạn đã có tài khoản rồi?
Tích vào đây để đăng ký
Vâng, Mật khẩu của tôi là:
Bạn đã quên mật khẩu?
Duy trì đăng nhập
Diễn đàn chính thức sinh viên Học viện Ngân Hàng
Trang chủ
Thành viên
>
sophia
>
Trang chủ
Diễn đàn
Video
Video
Liên kết nhanh
Video ngẫu nhiên
Video
Playlists
Diễn đàn học tập
ĐĂNG NHẬP | ĐĂNG KÝ
Diễn đàn
Liên kết nhanh
Tìm kiếm diễn đàn
Watched Tags
Bài viết gần đây
Menu


text:
- Hoạt động cuối:
- 15/3/14
- Tham gia ngày:
- 15/3/14
- Bài viết:
- 0
- Đã được thích:
- 0
- Điểm thành tích:
- 0
- Sinh nhật:
- 21/10/91 (Tuổi: 25)
thanhcuc211091
New Member, 25
- thanhcuc211091 được nhìn thấy lần cuối:
- 15/3/14
-
- Đang tải...
-
Giới thiệu
- Sinh nhật:
- 21/10/91 (Tuổi: 25)
Tương tác

markdown:
![ thanhcuc211091](http://svnhforum.com/forum/styles/banh/xenforo/avatars/avatar_l.png)
- Hoạt động cuối:
- 15/3/14
- Tham gia ngày:
- 15/3/14
- Bài viết:
- 0
- Đã được thích:
- 0
- Điểm thành tích:
[0](members/thanhcuc211091.81801/trophies)
- Sinh nhật:
- 21/10/91 (Tuổi: 25)
# thanhcuc211091
New Member, 25
- thanhcuc211091 được nhìn thấy lần cuối:
- 15/3/14
-
- Đang tải...
-
### Giới thiệu
- Sinh nhật:
- 21/10/91 (Tuổi: 25)
### Tương tác

WARC-Type: response

Content-Type: application/http; msgtype=response

Server: nginx

Content-Type: text/html; charset=UTF-8

Connection: close

Vary: Accept-Encoding

Cache-control: private, max-age=0

X-Frame-Options: SAMEORIGIN

Vietnix-Cache: HIT from backend


text: “Acoustic night – Wind of Change” Một kỳ thi căng thẳng vừa trôi qua, ngổn ngang biết bao suy nghĩ, buồn có, vui có, thoải mái nhưng cũng có đôi chút bơ vơ tiếc nuối,… Nếu cứ luẩn quẩn trong những suy nghĩ đấy thì mùa Hè – Mùa của râm ran tiếng tiếng ve, đỏ rực hoa phượng, sôi nổi và ấm áp những hoạt động từ thiện và cả e ấp những mối tình chớm nở,...sẽ chẳng mấy chốc mà sẽ vụt qua mất đấy Đừng để một mùa hè trôi qua một cách lãng phí thế, hãy đắm chìm trong giai điệu ngọt ngào của âm nhạc, cùng lắng nghe những bài hát đậm chất acoustic để có những phút giây thư giãn, thoải mái và gạt bỏ đi tất cả mọi muộn phiền cùng những sinh viên Học viên Ngân hàng chứ? Vậy thì còn chần chừ gì nữa mà không đến với “Acoustic night – Wind of Change” Clb Guitar – HVNH Một đêm nhạc offline hứa hẹn sẽ mang đến cho bạn những giai điệu sâu lắng, xóa tan cái nóng oi bức của mùa hè, những ưu phiền trong cuộc sống thường nhật. Hãy đến để thắt chặt hơn tình bạn, để đàn hát, để yêu thương và … Tìm ra những điều tươi mới trong tâm hồn! • Thời gian: 19h Chủ nhật, ngày 26/6/2011 • Địa điểm : Sân nhà E (Kí túc xá Lào) - Học Viện Ngân Hàng


text: Khóa học kế toán thực hành do trung tâm đào tạo kế toán PRAVINA đang trở thành một trong những chương trình đào tạo kế toán được đánh giá hiệu quả nhất hiện nay, với khả năng xin được việc sau khi hoàn thành khóa học đạt ~ 95% Với đội ngũ giảng viên uy tín gồm các chuyên gia kiểm toán viên, kế toán viên, chuyên gia tư vấn thuế (có chứng chỉ hành nghề) trực tiếp giảng dạy, trung tâm cam kết đảm bảo chất lượng đầu ra cho học viên, hoàn tiền 100% nếu chất lượng không đám ứng được yêu cầu của bạn; Nếu các bạn đã qua khóa học của chúng tôi nhưng vẫn còn nhiều vấn đề chưa rõ hoặc thắc mắc trong quá trình làm việc sẽ được các chuyên gia hỗ trợ, tư vấn sau khóa học, hoặc nếu bạn muốn học kỹ hơn trung tâm đáp ứng hoàn toàn 100% không tính học phí cho các đối tượng muốn học lại. Đến với chúng tôi bạn nhận được gì? Thứ nhất: Các bạn được học khóa học kế toán thực hành có bộ giáo trình đạt chuẩn chất lượng (được đăng ký bản quyền), hạch toán trực tiếp trên bộ chứng từ thật. Thứ hai: Giáo trình, hay bộ chứng từ được cập nhật, thay đổi kịp thời với kiến thức mới nhất. Các chính sách thuế thay đổi từ 01/07/2013 đã được đưa vào bài học một cách sinh động đảm bảo kiến thức của bạn ngay khi học xong. Thứ ba: Môi trường học đạt chuẩn đào tạo bao gồm: máy chiếu, máy tính, điều hòa.... Khi kết thúc khóa học được cấp chứng chỉ; Trợ giảng nhiệt tình sẽ trao đổi với bạn bất cứ vấn đề khó hiểu nào. Thứ bốn: Trung tâm sẵn sàng giới thiệu việc làm cho các học viên ưu tú. Hãy đồng hành cùng chúng tôi để tương lai của bạn được tỏa sáng! Đăng ký học thử khóa học: View attachment Phieu Dang Ky Trial.xls Các bạn tham khảo khóa học tại website: pravina.vn http://pravina.vn/kt.nsf/NoiDung/D5F7447B8C958CE647257B1900194003?OpenDocument Mọi thắc mắc về khóa học xin liên hệ: [TABLE] [TR] [TD]Name[/TD] [TD]Phone[/TD] [TD]Email[/TD] [/TR] [TR] [TD]Mr. Hoàng[/TD] [TD]0943 97 0656[/TD] [TD]hoangnx@qmc.vn[/TD] [/TR] [TR] [TD]Mr. Quang[/TD] [TD]0969 30 5656[/TD] [TD]Quangnn@qmc.vn [/TD] [/TR] [/TABLE]


text:
CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ
Chia sẻ: Ha Van Tien | Ngày: | Loại File: PDF | Số trang:30
lượt xem 29
download
CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ
Tham khảo tài liệu 'chương 3: lập trình hợp ngữ', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ
- Tài liệu vi xử lý Lập trình hợp ngữ CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ 1. Các tập tin .EXE và .COM DOS chỉ có thể thi hành được các tập tin dạng .COM và .EXE. Tập tin .COM thường dùng để xây dựng cho các chương trình nhỏ còn .EXE dùng cho các chương trình lớn. 1.1. Tập tin .COM - Tập tin .COM chỉ có một đoạn nên kích thước tối đa của một tập tin loại này là 64 KB. - Tập tin .COM được nạp vào bộ nhớ và thực thi nhanh hơn tập tin .EXE nhưng chỉ áp dụng được cho các chương trình nhỏ. - Chỉ có thể gọi các chương trình con dạng near. Khi thực hiện tập tin .COM, DOS định vị bộ nhớ và tạo vùng nhớ dài 256 byte ở vị trí 0000h, vùng này gọi là PSP (Program Segment Prefix), nó sẽ chứa các thông tin cần thiết cho DOS. Sau đó, các mã lệnh trong tập tin sẽ được nạp vào sau PSP ở vị trí 100h và đưa giá trị 0 vào stack. Như vậy, kích thước tối đa thực sự của tập tin .COM là 64 KB – 256 byte PSP – 2 byte stack. Tất cả các thanh ghi đoạn đều chỉ đến PSP và thanh ghi con trỏ lệnh IP chỉ đến 100h, thanh ghi SP có giá trị 0FFFEh. 1.2. Tập tin .EXE - Nằm trong nhiều đoạn khác nhau, kích thước thông thường lớn hơn 64 KB. - Có thể gọi được các chương trình con dạng near hay far. - Tập tin .EXE chứa một header ở đầu tập tin để chứa các thông tin điều khiển cho tập tin. 2. Khung của một chương trình hợp ngữ Khung của một chương trình hợp ngữ có dạng như sau: TITLE Chương trình hợp ngữ .MODEL Kiểu kích thước bộ nhớ ; Khai báo quy mô sử ; dụng bộ nhớ .STACK Kích thước ; Khai báo dung lượng ; đoạn stack .DATA ; Khai báo đoạn dữ liệu msg DB 'Hello$' .CODE ; Khai báo đoạn mã main PROC … CALL Subname ; Gọi chương trình con … main ENDP Subname PROC ; Định nghĩa chương ; trình con … Phạm Hùng Kim Khánh Trang 44
- Tài liệu vi xử lý Lập trình hợp ngữ RET Subname ENDP END main Quy mô sử dụng bộ nhớ: Bảng 3.1: Loại Mô tả Tiny Mã lệnh và dữ liệu nằm trong một đoạn Small Mã lệnh trong một đoạn, dữ liệu trong một đoạn Medium Mã lệnh không nằm trong một đoạn, dữ liệu trong một đoạn Compact Mã lệnh trong một đoạn, dữ liệu không nằm trong một đoạn Large Mã lệnh không nằm trong một đoạn, dữ liệu không nằm trong một đoạn và không có mảng nào lớn hơn 64KB Huge Mã lệnh không nằm trong một đoạn, dữ liệu không nằm trong một đoạn và các mảng có thể lớn hơn 64KB Thông thường, các ứng dụng đơn giản chỉ đòi hỏi mã chương trình không quá 64 KB và dữ liệu cũng không lớn hơn 64 KB nên ta sử dụng ở dạng Small: .MODEL SMALL Khai báo kích thước stack: Khai báo stack dùng để dành ra một vùng nhớ dùng làm stack (chủ yếu phục vụ cho chương trình con), thông thường ta chọn khoảng 256 byte là đủ để sử dụng (nếu không khai báo thì chương trình dịch tự động cho kích thước stack là 1 KB): .STACK 256 Khai báo đoạn dữ liệu: Đoạn dữ liệu dùng để chứa các biến và hằng sử dụng trong chương trình. Khai báo đoạn mã: Đoạn mã dùng chứa các mã lệnh của chương trình. Đoạn mã bắt đầu bằng một chương trình chính và có thể có các lệnh gọi chương trình con (CALL). Một chương trình chính hay chương trình con bắt đầu bằng lệnh PROC và kết thúc bằng lệnh ENDP (đây là các lệnh giả của chương trình dịch). Trong chương trình con, ta sử dụng thêm lệnh RET để trả về địa chỉ lệnh trước khi gọi chương trình con. 3. Cú pháp của các lệnh trong chương trình hợp ngữ Một dòng lệnh trong chương trình hợp ngữ gồm có các trường (field) sau (không nhất thiết phải đầy đủ tất cả các trường): Phạm Hùng Kim Khánh Trang 45
- Tài liệu vi xử lý Lập trình hợp ngữ Tên Lệnh Toán hạng Chú thích A: MOV AH,10h ; Đưa giá trị 10h vào thanh ghi AH Main PROC Trường tên chứa nhãn, tên biến hay tên thủ tục. Các tên nhãn có thể chứa tối đa 31 ký tự, không chứa ký tự trắng (space) và không được bắt đầu bằng số (A: hay Main:). Các nhãn được kết thúc bằng dấu ':'. Trường lệnh chứa các lệnh sẽ thực hiện. Các lệnh này có thể là các lệnh thật (MOV) hay các lệnh giả (PROC). Các lệnh thật sẽ được dịch ra mã máy. Trường toán hạng chứa các toán hạng cần thiết cho lệnh (AH,10h). Trường chú thích phải được bắt đầu bằng dấu ';'. Trường này chỉ dùng cho người lập trình để ghi các lời giải thích cho chương trình. Chương trình dịch sẽ bỏ qua các lệnh nằm phía sau dấu ;. 3.1. Khai báo dữ liệu Khi khai báo dữ liệu trong chương trình, nếu sử dụng số nhị phân, ta phải dùng thêm chữ B ở cuối, nếu sử dụng số thập lục phân thì phải dùng chữ H ở cuối. Chú ý rằng đối với số thập lục phân, nếu bắt đầu bằng chữ A..F thì phải thêm vào số 0 ở phía trước. Ví dụ: 1011b ; Số nhị phân 1111 ; Số thập phân 1011h ; Số thập lục phân 3.2. Khai báo biến Khai báo biến nhằm để chương trình dịch cung cấp một địa chỉ xác định trong bộ nhớ. Ta dùng các lệnh giả sau để định nghĩa các biến ứng với các kiểu dữ liệu khác nhau: DB (define byte), DW (define word) và DD (define double word). VD: A1 DB 1 ; Định nghĩa biến A1 dài 1 byte (chương ; trình dịch sẽ dùng 1 byte trong bộ nhớ để ; lưu trữ A1), trị ban đầu A1 = 1 A2 DB ? ; Biến A2 kiểu byte, không có giá trị gán ; ban đầu A3 DB 'A' ; Biến kiểu ký tự A4 DW 1 ; Định nghĩa biến A4 dài 2 byte, giá trị ban ; đầu A4 = 1, ta cũng có thể dùng dấu ? để ; xác định biến không cần khởi tạo giá trị ban đầu A5 DD 1 ; Biến A5 dài 4 byte A6 DB 1,2,3 ; Định nghĩa biến mảng (array) gồm có 3 ; phần tử, mỗi phần tử dài 1 byte (nghĩa là ; sẽ dùng 3 byte lưu trữ) với các giá trị ban ; đầu của các phần tử lần lượt là 1,2,3 A7 DB 10 DUP(0) ; Khai báo biến mảng gồm 10 phần tử, mỗi ; phần tử có chiều dài 1 byte với giá trị gán ; ban đầu là 0 Phạm Hùng Kim Khánh Trang 46
- Tài liệu vi xử lý Lập trình hợp ngữ A8 DB 10 DUP(?) ; Khai báo biến mảng gồm 10 phần tử, mỗi ; phần tử có chiều dài 1 byte, không cần ; gán giá trị ban đầu Ngoài ra ta có thể dùng các toán tử DUP lồng vào nhau khi khai báo biến mảng. Giả sử ta cần khai báo mảng A9 có các giá trị gán ban đầu 1,2,3,1,1,3,2,2,1,1,3,2,2. Ta có thể thực hiện như sau: A9 DB 1,2,3,1,1,3,2,2,1,1,3,2,2 Hay: A9 DB 1,2,3,2 DUP(1,1,3,2,2) Hay: A9 DB 1,2,3,2 DUP(2 DUP(1),3,2 DUP(2)) Đối với các biến có nhiều hơn 1 byte, byte thấp sẽ chứa ở ô nhớ có địa chỉ thấp và byte cao sẽ chứa ở ô nhớ có địa chỉ cao. VD: A10 DW 1234h Biến A10 giả sử bắt đầu lưu tại địa chỉ 1000h thì ô nhớ 1000h chứa giá trị 34h còn ô nhớ 1001h chứa giá trị 12h. Đối với biến kiểu chuỗi (string), thực chất là một mảng các ký tự, ta có thể khai báo như sau: A11 DB 'ABCD' Hay A11 DB 65h,66h,67h,68h Sau lệnh khai báo này thì ô nhớ 1000h (giả sử biến A11 lưu trữ tại địa chỉ 1000h) chứa 'A', 1001h chứa 'B', 1002h chứa 'C' và 1003h chứa 'D'. 3.3. Khai báo hằng Các hằng khai báo trong chương trình hợp ngữ bằng lệnh giả EQU để chương trình dễ hiểu hơn. Hằng có thể ở dạng số, ký tự hay chuỗi. VD: A12 EQU 10 A13 EQU 'AAA' Sau khi sử dụng khai báo này, nếu ta dùng lệnh: MOV AH,A12 thì AH = 10h A14 DB 'B',A13 thì khai báo chuỗi A14 với giá trị gán ban đầu là 'BAAA'. Phạm Hùng Kim Khánh Trang 47
- Tài liệu vi xử lý Lập trình hợp ngữ 4. Các toán tử trong hợp ngữ Toán tử số học: Bảng 3.2: Toán tử Cú pháp Mô tả + +bt Số dương - -bt Số âm * bt1*bt2 Nhân / bt1/bt2 Chia mod bt1 mod bt2 Lấy phần dư + bt1 + bt2 Cộng - bt1 – bt2 Trừ shl bt shl n Dịch trái n bit shr bt shr n Dịch phải n bit Trong đó bt, bt1, bt2 là các biểu thức hằng, n là số nguyên. VD: MOV AH,(8+1)*7/3 ; AH ← 21 MOV AH, 00010001b shr 2 ; AH ← 0000 0100b MOV AH,00010001b shl 2 ; AH ← 0100 0100b MOV AH,100 mod 3 ; AH ← 1 Toán tử logic: Bao gồm các toán tử AND, OR, NOT, XOR VD: MOV AH,10 OR 4 AND 2 ; AH = 10 MOV AH, 0F0h AND 7Fh ; AH = 70h Toán tử quan hệ: Các toán tử quan hệ so sánh 2 biểu thức, cho giá trị true (-1) nếu điều kiện thoả và false (0) nếu không thoả. Bảng 3.3: Toán tử Cú pháp Mô tả EQ bt1 EQ bt2 Bằng NE bt1 NE bt2 Không bằng LT bt1 LT bt2 Nhỏ hơn LE bt1 LE bt2 Nhỏ hơn hay bằng GT bt1 GT bt2 Lớn hơn GE bt1 GE bt2 Lớn hơn hay bằng Phạm Hùng Kim Khánh Trang 48
- Tài liệu vi xử lý Lập trình hợp ngữ Các toán tử cung cấp thông tin: Toán tử SEG: SEG bt Toán tử SEG xác định địa chỉ đoạn của biểu thức bt. bt có thể là biến, nhãn, hay các toán hạng bộ nhớ. Toán tử OFFSET: OFFSET bt Toán tử OFFSET xác định địa chỉ offset của biểu thức bt. bt có thể là biến, nhãn, hay các toán hạng bộ nhớ. VD: MOV AX,SEG A ; Nạp địa chỉ đoạn và địa chỉ offset MOV DS,AX ; của biến A vào cặp thanh ghi MOV AX,OFFSET A ; DS:AX Toán tử chỉ số [ ]: (index operator) Toán tử chỉ số thường dùng với toán hạng trưc tiếp và gián tiếp. Toán tử (:) (segment override operator) Segment:bt Toán tử : quy định cách tính địa chỉ đối với segment được chỉ. Segment là các thanh ghi đoạn CS, DS, ES, SS. Chú ý rằng khi sử dụng toán tử : kết hợp với toán tử [ ] thì segment: phải đặt ngoài toán tử [ ]. VD: Cách viết [CS:BX] là sai, ta phải viết CS:[BX] Toán tử TYPE: TYPE bt Trả về giá trị biểu thị dạng của biểu thức bt. - Nếu bt là biến thì sẽ trả về 1 nếu biến có kiểu byte, 2 nếu biến có kiểu word, 4 nếu biến có kiểu double word. - Nếu bt là nhãn thì trả về 0FFFFh nếu bt là near và 0FFFEh nếu bt là far. - Nếu bt là hằng thì trả về 0. Toán tử LENGTH: LENGTH bt Trả về số các đơn vị cấp cho biến bt Toán tử SIZE: SIZE bt Trả về tổng số các byte cung cấp cho biến bt VD: A DD 100 DUP(?) MOV AX,LENGTH A ; AX = 100 MOV AX,SIZE A ; AX = 400 Phạm Hùng Kim Khánh Trang 49
- Tài liệu vi xử lý Lập trình hợp ngữ Các toán tử thuộc tính: Toán tử PTR: Loai PTR bt Toán tử này cho phép thay đổi dạng của biểu thức bt. - Nếu bt là biến hay toán hạng bộ nhớ thì Loai là byte, word hay dword. - Nếu bt là nhãn thì Loai là near hay far. VD: A DW 100 DUP(?) B DD ? MOV AH,BYTE PTR A ; Đưa byte đầu tiên trong mảng A ; vào thanh ghi AH MOV AX,WORD PTR B ; Đưa 2 byte thấp trong biến B ; vào thanh ghi AX Toán tử HIGH, LOW: HIGH bt LOW bt Cho giá trị của byte cao và thấp của biểu thức bt, bt phải là một hằng. VD: A EQU 1234h MOV AH,HIGH A ; AH ← 12h MOV AH,LOW A ; AH ← 34h 5. Các cách định địa chỉ trong hợp ngữ Toán hạng trực tiếp: Toán hạng trực tiếp là một biểu thức hằng xác định. Các hằng số có thể ở dạng thập phân (có dấu và không dấu), nhị phân, thập lục phân, các hằng số định nghĩa bằng lệnh EQU, … VD: MOV AH,10 MOV AH,1010b MOV AH,0Ah MOV AH,A12 MOV AX,OFFSET msg MOV AX,SEG msg Toán hạng thanh ghi: Các thanh ghi có thể sử dụng trong phép định địa chỉ thanh ghi là AH, BH, CH, DH, AL, BL, CL, DL, AX, BX, CX, DX, SP, BP, SI, DI, CS, DS, ES, SS. Toán hạng bộ nhớ: Trực tiếp: Toán hạng này xác định dữ liệu lưu trong bộ nhớ tại một địa chỉ xác định khi dịch, địa chỉ này là một biểu thức hằng (có thể kết hợp với toán tử chỉ số [ ] hay toán tử +, -, :). Thanh ghi đoạn mặc định là thanh ghi DS nhưng ta có thể dùng toán tử : để chỉ thanh ghi đoạn khác. Phạm Hùng Kim Khánh Trang 50
- Tài liệu vi xử lý Lập trình hợp ngữ VD: A DW 1000h B DB 100 DUP(0) MOV AX,A ; Chuyển nội dung của biến A vào MOV AX,[A] ; thanh ghi AX MOV AH,B ; Truy xuất phần tử đầu tiên của MOV AH,B[0] ; mảng B MOV AH,B + 1 ; Truy xuất phần tử thứ hai của MOV AH,B[1] ; mảng B MOV AH,B + 5 ; Truy xuất phần tử thứ 6 của MOV AH,B[5] ; mảng B Chú ý rằng lệnh MOV AX,[1000h] sẽ chuyển giá trị 1000h vào thanh ghi AX. Nếu muốn chuyển nội dung tại ô nhớ 1000h vào thanh ghi AX thì phải dùng lệnh MOV AX,DS:[1000h] hay MOV AX,DS:1000h Gián tiếp: Toán hạng bộ nhớ gián tiếp cho phép dùng các thanh ghi BX, BP, SI, DI để chỉ các giá trị trong bộ nhớ. VD: MOV BX,2 MOV SI,3 MOV AH,B[BX] ; Chuyển phần tử thứ 3 của mảng B ; vào thanh ghi AH MOV AH,B[BX+1] ; Chuyển phần tử thứ 4 của mảng B MOV AH,B[BX]+1 ; vào thanh ghi AH (BX + 1 = 3) MOV AH,B[BX+SI] ; Chuyển phần tử thứ 6 của mảng B MOV AH,B[BX][SI] ; vào thanh ghi AH MOV AH,[B+BX+SI] ; BX + SI = 5 MOV AH,[B][BX][SI] MOV AH,B[BX+SI+5] ; Chuyển phần tử thứ 11 của mảng B MOV AH,B[BX][SI]+5 ; vào thanh ghi AH MOV AH,[B+BX+SI+5] ; BX + SI + 5 = 10 6. Tạo và thực thi chương trình hợp ngữ Ta có thể tạo và thực thi một chương trình hợp ngữ trên một máy PC theo các bước sau: - Dùng một chương trình soạn thảo văn bản không định dạng (như NC) tạo một tập tin chứa chương trình hợp ngữ (gán phần mở rộng của tập tin này là .ASM, giả sử là TEMP.ASM). - - Dùng chương trình TASM.EXE (Turbo Assembler) để dịch ra mã máy dạng .OBJ: TASM TEMP - Sau khi dịch xong, ta sẽ được file TEMP.OBJ chứa các mã máy của chương trình. Để chuyển thành file thực thi, ta dùng chương trình TLINK.EXE để chuyển thành tập tin .EXE: TLINK TEMP - - Nếu tập tin thực thi ở dạng .COM thì ta dùng thêm chương trình EXE2BIN.EXE: EXE2BIN TEMP TEMP.COM Phạm Hùng Kim Khánh Trang 51
- Tài liệu vi xử lý Lập trình hợp ngữ 7. Tập lệnh hợp ngữ 7.1. Nhóm lệnh chuyển dữ liệu 7.1.1. Nhóm lệnh chuyển dữ liệu đa dụng Lệnh MOV dst,src: chuyển nội dung toán hạng src vào toán hạng dst. Toán hạng nguồn src có thể là thanh ghi (reg), bộ nhớ (mem) hay giá trị tức thời (immed); toán hạng đích dst có thể là reg hay mem. Lệnh MOV có thể có các trường hợp sau: Reg8 ← reg8 MOV AL,AH Reg16 ← reg16 MOV AX,BX Mem8 ← reg8 MOV [BX],AL Reg8 ← mem8 MOV AL,[BX] Mem16 ← reg16 MOV [BX],AX Reg16 ← mem16 MOV AX,[BX] Reg8 ← immed8 MOV AL,04h Mem8 ← immed8 MOV mem[BX],01h Reg16 ← immed16 MOV AL,0F104h Mem16 ← immed16 MOV mem[BX],0101h SegReg ← reg16 MOV DS,AX SegReg ← mem16 MOV DS,mem Reg16 ← segreg MOV AX,DS Mem16 ← segreg MOV [BX],DS - Lệnh MOV không ảnh hưởng đến các cờ. - Không thể chuyển trực tiếp dữ liệu giữa hai ô nhớ mà phải thông qua một thanh ghi MOV AX,mem1 MOV mem2,AX - Không thể chuyển giá trị trực tiếp vào thanh ghi đoạn MOV AX,1010h MOV DS,AX - Không thể chuyển trực tiếp giữa 2 thanh ghi đoạn - Không thể dùng thanh ghi CS làm toán hạng đích Lệnh XCHG dst,src: (Exchange) hoán chuyển nội dung 2 toán hạng. Toán hạng chỉ có thể là reg hay mem. - Lệnh XCHG không ảnh hưởng đến các cờ - Không thể dùng cho các thanh ghi đoạn Lệnh PUSH src: cất nội dung một thanh ghi vào stack. Toán hạng là reg16 Lệnh POP dst: lấy dữ liệu 16 bit từ stack đưa vào toán hạng dst. Ta có thể dùng nhiều lệnh PUSH để cất dữ liệu vào stack nhưng khi dùng lệnh POP để lấy dữ liệu ra thì phải dùng theo thứ tự ngược lại. PUSH AX PUSH BX Phạm Hùng Kim Khánh Trang 52
- Tài liệu vi xử lý Lập trình hợp ngữ PUSH CX … POP CX POP BX POP AX Lệnh XLAT [src]: chuyển nội dung của ô nhớ 8 bit vào thanh ghi AL. Địa chỉ ô nhớ xác định bằng cặp thanh ghi DS:BX (nếu không chỉ ra src) hay src, địa chỉ offset chứa trong thanh ghi AL. Lệnh XLAT tương đương với các lệnh: MOV AH,0 MOV SI,AX MOV AL,[BX+SI] 7.1.2. Nhóm lệnh chuyển địa chỉ Lệnh LEA reg16,mem16: (Load Effective Address) chuyển địa chỉ offset của toán hạng bộ nhớ vào thanh ghi reg16. Lệnh này sẽ tương đương với MOV reg16, OFFSET mem16 Lệnh LDS reg16,mem32: (Load pointer using DS) chuyển nội dung bộ nhớ toán hạng mem32 vào cặp thanh ghi DS:reg16. Lệnh LDS AX,mem tương đương với: MOV AX,mem MOV BX,mem+2 MOV DS,BX Lệnh LES reg16,mem32: (Load pointer using ES) giống như lệnh LDS nhưng dùng cho thanh ghi ES 7.1.3. Nhóm lệnh chuyển cờ hiệu Lệnh LAHF: (Load AH from flag) chuyển các cờ SF, ZF, AF, PF và CF vào các bit 7,6,4,2 và 0 của thanh ghi AH (3 bit còn lại không đổi) Lệnh SAHF: (Store AH into flag) chuyển các bit 7,6,4,2 và 0 của thanh ghi AH vào các cờ SF, ZF, AF, PF và CF. Lệnh PUSHF: chuyển thanh ghi cờ vào stack Lệnh POPF: lấy dữ liệu từ stack chuyển vào thanh ghi cờ 7.1.4. Nhóm lệnh chuyển dữ liệu qua cổng Mỗi I/O port giao tiếp với CPU sẽ có một địa chỉ 16 bit cho nó. CPU gởi hay nhận dữ liệu từ cổng bằng cách chỉ đến địa chỉ cổng đó. Tuỳ theo chức năng mà cổng có thể: chỉ đọc dữ liệu (input port), chỉ ghi dữ liệu (output port) hay có thể đọc và ghi dữ liệu (input/output port). Phạm Hùng Kim Khánh Trang 53
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh IN: đọc dữ liệu từ cổng và đưa vào thanh ghi AL IN AL,port8 IN AL,DX Nếu địa chỉ port chỉ có 8 bit thì có thể đưa giá trị trực tiếp vào, nếu là 16 bit thì phải thông qua thanh ghi AX. Lệnh OUT: ghi dữ liệu trong thanh ghi AL ra cổng OUT port8,AL OUT DX,AL VD: MOV AL,3 OUT 61h,AL ; Gởi giá trị 03h ra cổng 61h MOV AL,1 MOV DX,03F8h ; Xuất ra cổng máy in OUT DX,AL MOV DX,03F8h IN AL,DX ; Đọc dữ liệu từ cổng máy in 7.2. Nhóm lệnh chuyển điều khiển 7.2.1. Lệnh nhảy không điều kiện JMP JMP label JMP reg/mem Lệnh JMP dùng để chuyển điều khiển chương trình từ vị trí này sang vị trí khác (thay đổi nội dung cặp thanh ghi CS:IP). 7.2.2. Lệnh nhảy có điều kiện Lệnh nhảy có điều kiện chỉ sử dụng cho các nhãn nằm trong khoảng từ –127 đến 128 byte so với vị trí của lệnh. Lệnh JA label: (Jump if Above) Nếu CF = 0 và ZF = 0 thì JMP label Lệnh JAE label: (Jump if Above or Equal) Nếu CF = 0 thì JMP label Lệnh JB label: (Jump if Below) Nếu CF = 1 thì JMP label Lệnh JBE label: (Jump if Below or Equal) Nếu CF = 1 hoặc ZF = 1 thì JMP label Lệnh JNA label: (Jump if Not Above) Giống lệnh JBE Lệnh JNAE label: (Jump if Not Above or Equal) Giống lệnh JB Phạm Hùng Kim Khánh Trang 54
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh JNB label: (Jump if Not Below) Giống lệnh JAE Lệnh JNBE label: (Jump if Not Below or Equal) Giống lệnh JA Lệnh JG label: (Jump if Greater) Nếu SF = OF và ZF = 0 thì JMP label Lệnh JGE label: (Jump if Greater or Equal) Nếu SF = OF thì JMP label Lệnh JL label: (Jump if Less) Nếu SF OF thì JMP label Lệnh JLE label: (Jump if Less or Equal) Nếu CF OF hoặc ZF = 1 thì JMP label Lệnh JNG label: (Jump if Not Greater) Giống lệnh JLE Lệnh JNGE label: (Jump if Not Greater or Equal) Giống lệnh JL Lệnh JNL label: (Jump if Not Less) Giống lệnh JGE Lệnh JNLE label: (Jump if Not Less or Equal) Giống lệnh JG Lệnh JC label: (Jump if Carry) Giống lệnh JB Lệnh JNC label: (Jump if Not Carry) Giống lệnh JNB Lệnh JZ label: (Jump if Zero) Nếu ZF = 1 thì JMP label Lệnh JE label: (Jump if Equal) Giống lệnh JZ Lệnh JNZ label: (Jump if Not Zero) Nếu ZF = 0 thì JMP label Lệnh JNE label: (Jump if Equal) Giống lệnh JNZ Phạm Hùng Kim Khánh Trang 55
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh JS label: (Jump on Sign) Nếu SF = 1 thì JMP label Lệnh JNS label: (Jump if No Sign) Nếu SF = 0 thì JMP label Lệnh JO label: (Jump on Overflow) Nếu OF = 1 thì JMP label Lệnh JNO label: (Jump if No Overflow) Nếu OF = 0 thì JMP label Lệnh JP label: (Jump on Parity) Nếu PF = 1 thì JMP label Lệnh JNP label: (Jump if No Parity) Nếu PF = 0 thì JMP label Lệnh JCXZ label: (Jump if CX Zero) Nếu CX = 1 thì JMP label 7.2.3. Lệnh so sánh CMP left(reg/mem), right(reg/mem/immed) Lệnh CMP dùng để so sánh nội dung 2 toán hạng, kết quả chứa vào thanh ghi cờ và không làm thay đổi nội dung các toán hạng. VD: Đoạn chương trình so sánh 2 số A và B: A >B thì nhảy đến label1, A = B thì nhảy đến label2, A < B thì nhảy đến label3. MOV AX,A CMP AX,B JG label1 JL label2 JMP label3 7.2.4. Các lệnh vòng lặp Lệnh LOOP: LOOP label Mô tả: CX = CX – 1 Nếu CX 0 thì JMP label Lệnh LOOPE: LOOPE label Mô tả: CX = CX – 1 Nếu (ZF = 1) và (CX 0) thì JMP label Phạm Hùng Kim Khánh Trang 56
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh LOOPZ: Giống lệnh LOOPE Lệnh LOOPNE: LOOPNE label Mô tả: CX = CX – 1 Nếu (ZF = 0) và (CX 0) thì JMP label Lệnh LOOPNZ: Giống lệnh LOOPNE 7.2.5. Lệnh liên quan đến chương trình con Lệnh CALL: Lệnh CALL dùng để gọi một chương trình con, có thể là near hay far. CALL label ; Gọi chương trình con tại vị trí xác định ; bởi nhãn label CALL reg/mem ; Gọi chương trình con tại vị trí xác định ; trong reg/mem Lệnh RET: (return) RET [n] RETN [n] RETF [n] Lệnh RET dùng để kết thúc chương trình con, điều khiển sẽ được đưa về địa chỉ trước khi gọi chương trình con. RETN để kết thúc chương trình con dạng near và RETF dùng để kết thúc chương trình con dạng far. Trong trường hợp lệnh RET có hằng số n theo sau thì sẽ cộng với thanh ghi SP giá trị n (n phải là số chẵn). Lệnh này dùng để loại bỏ một số tham số chương trình con sử dụng ra khỏi stack. 7.3. Nhóm lệnh xử lý số học 7.3.1. Xử lý phép cộng Lệnh ADD dst,src: dst ← dst + src Toán hạng src có thể là reg, mem hay immed còn toán hạng dst là reg hay mem. - Không thể cộng trực tiếp 2 thanh ghi đoạn - Lệnh ADD ảnh hưởng đến các cờ sau: + Cờ CF: = 1 khi kết quả phép cộng có nhớ hay có mượn + Cờ AF: = 1 khi kết quả phép cộng có nhớ hay có mượn đối với 4 bit thấp + Cờ PF: = 1 khi kết quả phép cộng có tổng 8 bit thấp là một số chẵn. + Cờ ZF: = 1 khi kết quả phép cộng là 0. + Cờ SF: = 1 nếu kết quả phép cộng là một số âm + Cờ OF: = 1 nếu kết quả phép cộng bị sai dấu, nghĩa là vượt ra ngoài phạm vi lớn nhất hay nhỏ nhất mà số có dấu có thể chứa trong toán hạng dst. Phạm Hùng Kim Khánh Trang 57
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh ADC dst, src: (Add with Carry) dst ← dst + src + CF Lệnh ADC thường dùng để cộng các số lớn hơn 16 bit. Lệnh INC dst: (Increment) dst ← dst + 1 Dst có thể là reg hay mem. Lệnh AAA: (ASCII Adjust for Addition) Hiệu chỉnh kết quả phép cộng 2 số BCD dạng không nén (mỗi chữ số BCD lưu bằng 1 byte). VD: MOV AX,9 MOV BX,3 ADD AL,BL ; Kết quả là AX = 0Ch AAA ; AX = 0102h (AH = 1, AL = 2) Lệnh AAA chỉ ảnh hưởng đến các cờ AF và CF, không ảnh hưởng đến các cờ còn lại. Lệnh DAA: (Decimal Adjust for Addition) Hiệu chỉnh kết quả phép cộng 2 số BCD dạng nén (mỗi chữ số BCD lưu bằng 4 bit, nghĩa là 1 byte biểu diễn được các số nguyên từ 0 đến 99). VD: MOV AX,4338h ADD AL,AH ; AX ← 437Bh DAA ; AX ← 4381h (43 + 38 = 81) Lệnh DAA chỉ ảnh hưởng đến các cờ AF, CF, PF, SF, ZF và không ảnh hưởng đến thanh ghi AH. 7.3.2. Xử lý phép trừ Lệnh SUB dst,src: dst ← dst - src Toán hạng src có thể là reg, mem hay immed còn toán hạng dst chỉ có thể là reg hay mem. - Không thể trừ trực tiếp thanh ghi đoạn - Ảnh hưởng đến các cờ AF, CF, OF, PF, SF và ZF. Lệnh SBB dst,src: dst ← dst – src – CF Lệnh ADC thường dùng để trừ các số lớn hơn 16 bit. Lệnh DEC dst: (decrement) dst ← dst – 1 dst là reg hay mem. Lệnh DEC ảnh hưởng đến các cờ AF, OF, PF, SF, ZF. Phạm Hùng Kim Khánh Trang 58
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh NEG dst: dst ← - dst dst là reg hay mem. Lệnh NEG ảnh hưởng đến các cờ: CF = 1 nếu nội dung kết quả là số khác 0. SF = 1 nếu nội dung kết quả là số âm khác 0. PF = 1 nếu tổng 8 bit thấp là một số chẵn. ZF = 1 nếu nội dung kết quả là 0. OF = 1 nếu nội dung toán hạng dst là 80h (dạng byte) hay 8000h (dạng word). VD: Nếu muốn thực hiện phép toán 100 – AH, ta không thể cùng lệnh: SUB 100,AH mà phải dùng lệnh: SUB AH,100 NEG AH Lệnh AAS: (Ascii Adjust for Substract) Hiệu chỉnh kết quả phép trừ 2 số BCD dạng không nén (mỗi chữ số BCD lưu bằng 1 byte). Lệnh AAS chỉ ảnh hưởng cờ AF và CF. Lệnh DAS: (Decimal Adjust for Substract) Hiệu chỉnh kết quả phép trừ 2 số BCD dạng nén (mỗi chữ số BCD lưu bằng 4 bit). Lệnh AAS chỉ ảnh hưởng cờ AF và CF. 7.3.3. Xử lý phép nhân Lệnh MUL src: Nếu src là reg hay mem 8 bit: AX ← AL*src Nếu src là reg hay mem 16 bit: DX:AX ← AX*src Lệnh MUL chỉ ảnh hưởng đến cờ CF và OF. Lệnh IMUL src: Giống như lệnh MUL nhưng kết quả là số có dấu. Lệnh AAM: (Ascii Adjust for Multiple) Hiệu chỉnh kết quả phép nhân 2 số BCD dạng không nén, lệnh AAM thực hiện chia AL cho 10, lưu phần thương vào AL và phần dư vào AH. Lệnh AAM ảnh hưởng đến các cờ PF, SF và ZF. 7.3.4. Xử lý phép chia Lệnh DIV src: Nếu src là reg/mem 8 bit: AL ← AX DIV src và AH ← AX MOD src Nếu src là reg/mem 16 bit: AX ← DX:AX DIV src và DX ← DX:AX MOD src Lệnh DIV không ảnh hưởng đến các cờ nhưng xảy ra tràn trong các trường hợp sau: - Chia cho 0 Phạm Hùng Kim Khánh Trang 59
- Tài liệu vi xử lý Lập trình hợp ngữ - Thương lớn hơn 256 đối với dạng 8 bit. - Thương lớn hơn 65536 đối với dạng 16 bit. Lệnh IDIV src: Giống như lệnh DIV nhưng kết quả là số có dấu. Các trường hợp tràn: - Chia cho 0 - Thương nằm ngoài khoảng (-128,127) đối với dạng 8 bit. - Thương nằm ngoài khoảng (-32767,32768) đối với dạng 16 bit. Lệnh AAD: (Ascii Adjust for Division) Hiệu chỉnh kết quả phép chia 2 số BCD dạng không nén. Lưu ý rằng lệnh AAD phải được thực hiện trước lệnh chia. Sau khi thực hiện chia thì phải hiệu chỉnh lại dạng BCD bằng cách dùng lệnh AAM. Lệnh CBW: (Convert Byte to Word) Nếu AL < 80h thì AH = 0, ngược lại AH = 0FFh Lệnh CBW dùng để chuyển số nhị phân có dấu 8 bit thành số nhị phân có dấu 16 bit. Lệnh CWD: (Convert Word to Double word) Nếu AX < 8000h thì DX = 0, ngược lại DX = 0FFFFh Lệnh CWD dùng để chuyển số nhị phân có dấu 16 bit thành số nhị phân có dấu 32 bit chứa trong DX:AX. 7.3.5. Dịch chuyển và quay Lệnh SHL: (Shift Logical Left) SHL dst,1 SHL dst,CL Dịch trái 1 bit hay CL bit. CF ← dst7 ← dst6 … ← dst0 ← 0 Lệnh SHR: (Shift Logical Right) SHR dst,1 SHR dst,CL Dịch phải 1 bit hay CL bit. 0 → dst7 → dst6 … → dst0 → CF Lệnh SAL: giống SHL Lệnh SAR: Giống như lệnh SHR nhưng giá trị bit dst7 không thay đổi, nghĩa là dst7 → dst7 → dst6 … → dst0 → CF Lệnh ROL: (Rotate Left) ROL dst,1 ROL dst,CL Quay trái 1 bit hay CL bit. CF ← dst7 ← dst6 … ← dst0 ← dst7 Phạm Hùng Kim Khánh Trang 60
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh ROR: (Rotate Right) ROR dst,1 ROR dst,CL Quay phải 1 bit hay CL bit. dst0 → dst7 → dst6 … → dst0 → CF Lệnh RCL: (Rotate though Carry Left) RCL dst,1 RCL dst,CL Quay trái 1 bit hay CL bit. CF ← dst7 ← dst6 … ← dst0 ← CF Lệnh RCR: (Rotate though Carry Right) RCR dst,1 RCR dst,CL Quay phải 1 bit hay CL bit. CF → dst7 → dst6 … → dst0 → CF 7.3.6. Các lệnh logic Lệnh AND: AND dst,src dst ← dst AND src CF ← 0, OF ← 0 Src là reg, mem hay immed còn dst là reg, mem. Lệnh OR: OR dst,src dst ← dst OR src CF ← 0, OF ← 0 Lệnh XOR: XOR dst,src dst ← dst XOR src CF ← 0, OF ← 0 Lệnh NOT: NOT dst dst ← NOT dst Lệnh NOT không ảnh hưởng đến các cờ. Lệnh TEST: TEST dst,src Lệnh TEST thực hiện phép toán AND 2 toán hạng nhưng chỉ ảnh hưởng đến các cờ và không ảnh hưởng đến toán tử. Phạm Hùng Kim Khánh Trang 61
- Tài liệu vi xử lý Lập trình hợp ngữ 7.4. Nhóm lệnh xử lý chuỗi Bao gồm các lệnh sau: - Lệnh MOVS: chuyển dữ liệu từ vùng nhớ này sang vùng nhớ khác. + MOVSB: chuyển 1 byte từ vị trí chỉ đến bởi SI đến vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 1, DI ← DI + 1 còn nếu DF = 1 thì SI ← SI - 1, DI ← DI - 1. + MOVSW: chuyển 1 word từ vị trí chỉ đến bởi SI đến vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 2, DI ← DI + 2 còn nếu DF ← 1 thì SI ← SI - 2, DI ← DI - 2. - Lệnh CMPS: so sánh nội dung 2 vùng nhớ + CMPSB: so sánh 1 byte tại vị trí chỉ đến bởi SI và tại vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 1, DI ← DI + 1 còn nếu DF ← 1 thì SI ← SI - 1, DI ← DI - 1. + CMPSW: so sánh 1 word tại vị trí chỉ đến bởi SI và tại vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 2, DI ← DI + 2 còn nếu DF = 1 thì SI ← SI - 2, DI ← DI - 2. - Lệnh SCAS: tìm một phần tử trong vùng nhớ, địa chỉ vùng nhớ xác định bằng cặp thanh ghi ES:DI, giá trị cần tìm đặt trong thanh ghi AL, nếu tìm thấy thì ZF = 1. Giá trị của DI và SI thay đổi giống như trên. - Lệnh LODS: đưa một byte hay word có địa chỉ xác định bởi cặp thanh ghi DS:SI vào thanh ghi AL hay AX. Giá trị của DI và SI thay đổi giống như trên. - Lệnh STOS: chuyển nội dung của AL hay AX vào vùng nhớ xác định bởi cặp thanh ghi ES:DI. Giá trị của DI và SI thay đổi giống như trên. 8. Các cấu trúc cơ bản trong lập trình hợp ngữ 8.1. Cấu trúc tuần tự Cấu trúc tuần tự là cấu trúc đơn giản nhất. Trong cấu trúc tuần tự, các lệnh được sắp xếp tuần tự, lệnh này tiếp theo lệnh kia. Lệnh 1 Lệnh 2 … Lệnh n VD: Cộng 2 giá trị của thanh ghi BX và CX, rồi nhân đôi kết quả, kết quả cuối cùng chứa trong AX MOV AX,BX ADD AX,CX ; Cộng BX với CX SHL AX,1 ; Nhân đôi Phạm Hùng Kim Khánh Trang 62
- Tài liệu vi xử lý Lập trình hợp ngữ 8.2. Cấu trúc IF – THEN, IF – THEN – ELSE IF Điều kiện THEN Công việc IF Điều kiện THEN Công việc1 ELSE Công việc2 VD: Gán BX = |AX| CMP AX,0 ; AX > 0? JNL DUONG ; AX dương NEG AX ; Nếu AX < 0 thì đảo dấu DUONG: MOV BX,AX NEXT: VD: Gán CL giá trị bit dấu của AX CMP AX,0 ; AX > 0? JNS AM ; AX âm MOV CL,1 ; CL = 1 (AX dương) JMP NEXT AM: MOV CL,0 ; CL = 0 (AX âm) NEXT: 8.3. Cấu trúc CASE CASE Biểu thức Giá trị 1: Công việc 1 Giá trị 2: Công việc 2 … Giá trị n: Công việc n END VD: Nếu AX > 0 thì BH = 0, nếu AX < 0 thì BH = 1. Ngược lại BH = 2 CMP AX,0 JL AM JE KHONG JG DUONG DUONG: MOV BH,0 JMP NEXT AM: MOV BH,1 JMP NEXT KHONG: MOV BH,2 NEXT: 8.4. Cấu trúc FOR FOR Số lần lặp DO Công việc VD: Cho vùng nhớ M dài 200 bytes trong đoạn dữ liệu, chương trình đếm số chữ A trong vùng nhớ M như sau: MOV CX,200 ; Đếm 200 bytes MOV BX,OFFSET M ; Lấy địa chỉ vùng nhớ XOR AX,AX ; AX = 0 Phạm Hùng Kim Khánh Trang 63
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập môn lập trình hợp ngữ có đáp án
12 p | 796 | 290
-
Tài liệu tham khỏa: Lập trình hợp ngữ
109 p | 463 | 245
-
Tài liệu: Lập trình hợp ngữ 8051
19 p | 447 | 183
-
Kỹ thuật vi xử lý- chương 2: Lập trình hợp ngữ với 8086/8088
63 p | 209 | 93
-
Bài giảng Vi xử lý và Lập trình hợp ngữ
54 p | 210 | 84
-
Bài tập Lập trình hợp ngữ - Số 2
10 p | 213 | 59
-
Lập trình hợp ngữ MISP
9 p | 151 | 50
-
Bài tập lập trình hợp ngữ - Số 4
25 p | 125 | 30
-
Bài tập Lập trình hợp ngữ - Số 3
8 p | 98 | 30
-
Bài tập lập trình hợp ngữ - Số 6
10 p | 121 | 26
-
Bài tập lập trình hợp ngữ - Số 5
18 p | 84 | 25
-
Bài tập môn Lập trình hợp ngữ - Số 1
10 p | 83 | 21
-
Giáo trình Lập trình hợp ngữ: Phần 1 - Đỗ Văn Toàn, Dương Chính Cương
78 p | 37 | 20
-
Bài giảng Lập trình hợp ngữ: Intel 8086 - Nguyễn Duy Phúc
61 p | 34 | 11
-
Bài giảng Lập trình hợp ngữ
63 p | 24 | 10
-
Đề cương môn học: Lập trình hợp ngữ
8 p | 10 | 1
-
Chương trình học phần: Lập trình hợp ngữ
5 p | 7 | 1

markdown:
# CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ
Chia sẻ: Ha Van Tien | Ngày: | Loại File: PDF | Số trang:30
lượt xem 29
download
![](http://image.tlvnimg.com/document/thumbnail/2010/20100417/hatien202/80x100/vi_xu_ly_3_5587.jpg)
##
CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](images/down16x21.png)
Tham khảo tài liệu 'chương 3: lập trình hợp ngữ', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ
- Tài liệu vi xử lý Lập trình hợp ngữ CHƯƠNG 3: LẬP TRÌNH HỢP NGỮ 1. Các tập tin .EXE và .COM DOS chỉ có thể thi hành được các tập tin dạng .COM và .EXE. Tập tin .COM thường dùng để xây dựng cho các chương trình nhỏ còn .EXE dùng cho các chương trình lớn. 1.1. Tập tin .COM - Tập tin .COM chỉ có một đoạn nên kích thước tối đa của một tập tin loại này là 64 KB. - Tập tin .COM được nạp vào bộ nhớ và thực thi nhanh hơn tập tin .EXE nhưng chỉ áp dụng được cho các chương trình nhỏ. - Chỉ có thể gọi các chương trình con dạng near. Khi thực hiện tập tin .COM, DOS định vị bộ nhớ và tạo vùng nhớ dài 256 byte ở vị trí 0000h, vùng này gọi là PSP (Program Segment Prefix), nó sẽ chứa các thông tin cần thiết cho DOS. Sau đó, các mã lệnh trong tập tin sẽ được nạp vào sau PSP ở vị trí 100h và đưa giá trị 0 vào stack. Như vậy, kích thước tối đa thực sự của tập tin .COM là 64 KB – 256 byte PSP – 2 byte stack. Tất cả các thanh ghi đoạn đều chỉ đến PSP và thanh ghi con trỏ lệnh IP chỉ đến 100h, thanh ghi SP có giá trị 0FFFEh. 1.2. Tập tin .EXE - Nằm trong nhiều đoạn khác nhau, kích thước thông thường lớn hơn 64 KB. - Có thể gọi được các chương trình con dạng near hay far. - Tập tin .EXE chứa một header ở đầu tập tin để chứa các thông tin điều khiển cho tập tin. 2. Khung của một chương trình hợp ngữ Khung của một chương trình hợp ngữ có dạng như sau: TITLE Chương trình hợp ngữ .MODEL Kiểu kích thước bộ nhớ ; Khai báo quy mô sử ; dụng bộ nhớ .STACK Kích thước ; Khai báo dung lượng ; đoạn stack .DATA ; Khai báo đoạn dữ liệu msg DB 'Hello$' .CODE ; Khai báo đoạn mã main PROC … CALL Subname ; Gọi chương trình con … main ENDP Subname PROC ; Định nghĩa chương ; trình con … Phạm Hùng Kim Khánh Trang 44
- Tài liệu vi xử lý Lập trình hợp ngữ RET Subname ENDP END main Quy mô sử dụng bộ nhớ: Bảng 3.1: Loại Mô tả Tiny Mã lệnh và dữ liệu nằm trong một đoạn Small Mã lệnh trong một đoạn, dữ liệu trong một đoạn Medium Mã lệnh không nằm trong một đoạn, dữ liệu trong một đoạn Compact Mã lệnh trong một đoạn, dữ liệu không nằm trong một đoạn Large Mã lệnh không nằm trong một đoạn, dữ liệu không nằm trong một đoạn và không có mảng nào lớn hơn 64KB Huge Mã lệnh không nằm trong một đoạn, dữ liệu không nằm trong một đoạn và các mảng có thể lớn hơn 64KB Thông thường, các ứng dụng đơn giản chỉ đòi hỏi mã chương trình không quá 64 KB và dữ liệu cũng không lớn hơn 64 KB nên ta sử dụng ở dạng Small: .MODEL SMALL Khai báo kích thước stack: Khai báo stack dùng để dành ra một vùng nhớ dùng làm stack (chủ yếu phục vụ cho chương trình con), thông thường ta chọn khoảng 256 byte là đủ để sử dụng (nếu không khai báo thì chương trình dịch tự động cho kích thước stack là 1 KB): .STACK 256 Khai báo đoạn dữ liệu: Đoạn dữ liệu dùng để chứa các biến và hằng sử dụng trong chương trình. Khai báo đoạn mã: Đoạn mã dùng chứa các mã lệnh của chương trình. Đoạn mã bắt đầu bằng một chương trình chính và có thể có các lệnh gọi chương trình con (CALL). Một chương trình chính hay chương trình con bắt đầu bằng lệnh PROC và kết thúc bằng lệnh ENDP (đây là các lệnh giả của chương trình dịch). Trong chương trình con, ta sử dụng thêm lệnh RET để trả về địa chỉ lệnh trước khi gọi chương trình con. 3. Cú pháp của các lệnh trong chương trình hợp ngữ Một dòng lệnh trong chương trình hợp ngữ gồm có các trường (field) sau (không nhất thiết phải đầy đủ tất cả các trường): Phạm Hùng Kim Khánh Trang 45
- Tài liệu vi xử lý Lập trình hợp ngữ Tên Lệnh Toán hạng Chú thích A: MOV AH,10h ; Đưa giá trị 10h vào thanh ghi AH Main PROC Trường tên chứa nhãn, tên biến hay tên thủ tục. Các tên nhãn có thể chứa tối đa 31 ký tự, không chứa ký tự trắng (space) và không được bắt đầu bằng số (A: hay Main:). Các nhãn được kết thúc bằng dấu ':'. Trường lệnh chứa các lệnh sẽ thực hiện. Các lệnh này có thể là các lệnh thật (MOV) hay các lệnh giả (PROC). Các lệnh thật sẽ được dịch ra mã máy. Trường toán hạng chứa các toán hạng cần thiết cho lệnh (AH,10h). Trường chú thích phải được bắt đầu bằng dấu ';'. Trường này chỉ dùng cho người lập trình để ghi các lời giải thích cho chương trình. Chương trình dịch sẽ bỏ qua các lệnh nằm phía sau dấu ;. 3.1. Khai báo dữ liệu Khi khai báo dữ liệu trong chương trình, nếu sử dụng số nhị phân, ta phải dùng thêm chữ B ở cuối, nếu sử dụng số thập lục phân thì phải dùng chữ H ở cuối. Chú ý rằng đối với số thập lục phân, nếu bắt đầu bằng chữ A..F thì phải thêm vào số 0 ở phía trước. Ví dụ: 1011b ; Số nhị phân 1111 ; Số thập phân 1011h ; Số thập lục phân 3.2. Khai báo biến Khai báo biến nhằm để chương trình dịch cung cấp một địa chỉ xác định trong bộ nhớ. Ta dùng các lệnh giả sau để định nghĩa các biến ứng với các kiểu dữ liệu khác nhau: DB (define byte), DW (define word) và DD (define double word). VD: A1 DB 1 ; Định nghĩa biến A1 dài 1 byte (chương ; trình dịch sẽ dùng 1 byte trong bộ nhớ để ; lưu trữ A1), trị ban đầu A1 = 1 A2 DB ? ; Biến A2 kiểu byte, không có giá trị gán ; ban đầu A3 DB 'A' ; Biến kiểu ký tự A4 DW 1 ; Định nghĩa biến A4 dài 2 byte, giá trị ban ; đầu A4 = 1, ta cũng có thể dùng dấu ? để ; xác định biến không cần khởi tạo giá trị ban đầu A5 DD 1 ; Biến A5 dài 4 byte A6 DB 1,2,3 ; Định nghĩa biến mảng (array) gồm có 3 ; phần tử, mỗi phần tử dài 1 byte (nghĩa là ; sẽ dùng 3 byte lưu trữ) với các giá trị ban ; đầu của các phần tử lần lượt là 1,2,3 A7 DB 10 DUP(0) ; Khai báo biến mảng gồm 10 phần tử, mỗi ; phần tử có chiều dài 1 byte với giá trị gán ; ban đầu là 0 Phạm Hùng Kim Khánh Trang 46
- Tài liệu vi xử lý Lập trình hợp ngữ A8 DB 10 DUP(?) ; Khai báo biến mảng gồm 10 phần tử, mỗi ; phần tử có chiều dài 1 byte, không cần ; gán giá trị ban đầu Ngoài ra ta có thể dùng các toán tử DUP lồng vào nhau khi khai báo biến mảng. Giả sử ta cần khai báo mảng A9 có các giá trị gán ban đầu 1,2,3,1,1,3,2,2,1,1,3,2,2. Ta có thể thực hiện như sau: A9 DB 1,2,3,1,1,3,2,2,1,1,3,2,2 Hay: A9 DB 1,2,3,2 DUP(1,1,3,2,2) Hay: A9 DB 1,2,3,2 DUP(2 DUP(1),3,2 DUP(2)) Đối với các biến có nhiều hơn 1 byte, byte thấp sẽ chứa ở ô nhớ có địa chỉ thấp và byte cao sẽ chứa ở ô nhớ có địa chỉ cao. VD: A10 DW 1234h Biến A10 giả sử bắt đầu lưu tại địa chỉ 1000h thì ô nhớ 1000h chứa giá trị 34h còn ô nhớ 1001h chứa giá trị 12h. Đối với biến kiểu chuỗi (string), thực chất là một mảng các ký tự, ta có thể khai báo như sau: A11 DB 'ABCD' Hay A11 DB 65h,66h,67h,68h Sau lệnh khai báo này thì ô nhớ 1000h (giả sử biến A11 lưu trữ tại địa chỉ 1000h) chứa 'A', 1001h chứa 'B', 1002h chứa 'C' và 1003h chứa 'D'. 3.3. Khai báo hằng Các hằng khai báo trong chương trình hợp ngữ bằng lệnh giả EQU để chương trình dễ hiểu hơn. Hằng có thể ở dạng số, ký tự hay chuỗi. VD: A12 EQU 10 A13 EQU 'AAA' Sau khi sử dụng khai báo này, nếu ta dùng lệnh: MOV AH,A12 thì AH = 10h A14 DB 'B',A13 thì khai báo chuỗi A14 với giá trị gán ban đầu là 'BAAA'. Phạm Hùng Kim Khánh Trang 47
- Tài liệu vi xử lý Lập trình hợp ngữ 4. Các toán tử trong hợp ngữ Toán tử số học: Bảng 3.2: Toán tử Cú pháp Mô tả + +bt Số dương - -bt Số âm * bt1*bt2 Nhân / bt1/bt2 Chia mod bt1 mod bt2 Lấy phần dư + bt1 + bt2 Cộng - bt1 – bt2 Trừ shl bt shl n Dịch trái n bit shr bt shr n Dịch phải n bit Trong đó bt, bt1, bt2 là các biểu thức hằng, n là số nguyên. VD: MOV AH,(8+1)*7/3 ; AH ← 21 MOV AH, 00010001b shr 2 ; AH ← 0000 0100b MOV AH,00010001b shl 2 ; AH ← 0100 0100b MOV AH,100 mod 3 ; AH ← 1 Toán tử logic: Bao gồm các toán tử AND, OR, NOT, XOR VD: MOV AH,10 OR 4 AND 2 ; AH = 10 MOV AH, 0F0h AND 7Fh ; AH = 70h Toán tử quan hệ: Các toán tử quan hệ so sánh 2 biểu thức, cho giá trị true (-1) nếu điều kiện thoả và false (0) nếu không thoả. Bảng 3.3: Toán tử Cú pháp Mô tả EQ bt1 EQ bt2 Bằng NE bt1 NE bt2 Không bằng LT bt1 LT bt2 Nhỏ hơn LE bt1 LE bt2 Nhỏ hơn hay bằng GT bt1 GT bt2 Lớn hơn GE bt1 GE bt2 Lớn hơn hay bằng Phạm Hùng Kim Khánh Trang 48
- Tài liệu vi xử lý Lập trình hợp ngữ Các toán tử cung cấp thông tin: Toán tử SEG: SEG bt Toán tử SEG xác định địa chỉ đoạn của biểu thức bt. bt có thể là biến, nhãn, hay các toán hạng bộ nhớ. Toán tử OFFSET: OFFSET bt Toán tử OFFSET xác định địa chỉ offset của biểu thức bt. bt có thể là biến, nhãn, hay các toán hạng bộ nhớ. VD: MOV AX,SEG A ; Nạp địa chỉ đoạn và địa chỉ offset MOV DS,AX ; của biến A vào cặp thanh ghi MOV AX,OFFSET A ; DS:AX Toán tử chỉ số [ ]: (index operator) Toán tử chỉ số thường dùng với toán hạng trưc tiếp và gián tiếp. Toán tử (:) (segment override operator) Segment:bt Toán tử : quy định cách tính địa chỉ đối với segment được chỉ. Segment là các thanh ghi đoạn CS, DS, ES, SS. Chú ý rằng khi sử dụng toán tử : kết hợp với toán tử [ ] thì segment: phải đặt ngoài toán tử [ ]. VD: Cách viết [CS:BX] là sai, ta phải viết CS:[BX] Toán tử TYPE: TYPE bt Trả về giá trị biểu thị dạng của biểu thức bt. - Nếu bt là biến thì sẽ trả về 1 nếu biến có kiểu byte, 2 nếu biến có kiểu word, 4 nếu biến có kiểu double word. - Nếu bt là nhãn thì trả về 0FFFFh nếu bt là near và 0FFFEh nếu bt là far. - Nếu bt là hằng thì trả về 0. Toán tử LENGTH: LENGTH bt Trả về số các đơn vị cấp cho biến bt Toán tử SIZE: SIZE bt Trả về tổng số các byte cung cấp cho biến bt VD: A DD 100 DUP(?) MOV AX,LENGTH A ; AX = 100 MOV AX,SIZE A ; AX = 400 Phạm Hùng Kim Khánh Trang 49
- Tài liệu vi xử lý Lập trình hợp ngữ Các toán tử thuộc tính: Toán tử PTR: Loai PTR bt Toán tử này cho phép thay đổi dạng của biểu thức bt. - Nếu bt là biến hay toán hạng bộ nhớ thì Loai là byte, word hay dword. - Nếu bt là nhãn thì Loai là near hay far. VD: A DW 100 DUP(?) B DD ? MOV AH,BYTE PTR A ; Đưa byte đầu tiên trong mảng A ; vào thanh ghi AH MOV AX,WORD PTR B ; Đưa 2 byte thấp trong biến B ; vào thanh ghi AX Toán tử HIGH, LOW: HIGH bt LOW bt Cho giá trị của byte cao và thấp của biểu thức bt, bt phải là một hằng. VD: A EQU 1234h MOV AH,HIGH A ; AH ← 12h MOV AH,LOW A ; AH ← 34h 5. Các cách định địa chỉ trong hợp ngữ Toán hạng trực tiếp: Toán hạng trực tiếp là một biểu thức hằng xác định. Các hằng số có thể ở dạng thập phân (có dấu và không dấu), nhị phân, thập lục phân, các hằng số định nghĩa bằng lệnh EQU, … VD: MOV AH,10 MOV AH,1010b MOV AH,0Ah MOV AH,A12 MOV AX,OFFSET msg MOV AX,SEG msg Toán hạng thanh ghi: Các thanh ghi có thể sử dụng trong phép định địa chỉ thanh ghi là AH, BH, CH, DH, AL, BL, CL, DL, AX, BX, CX, DX, SP, BP, SI, DI, CS, DS, ES, SS. Toán hạng bộ nhớ: Trực tiếp: Toán hạng này xác định dữ liệu lưu trong bộ nhớ tại một địa chỉ xác định khi dịch, địa chỉ này là một biểu thức hằng (có thể kết hợp với toán tử chỉ số [ ] hay toán tử +, -, :). Thanh ghi đoạn mặc định là thanh ghi DS nhưng ta có thể dùng toán tử : để chỉ thanh ghi đoạn khác. Phạm Hùng Kim Khánh Trang 50
- Tài liệu vi xử lý Lập trình hợp ngữ VD: A DW 1000h B DB 100 DUP(0) MOV AX,A ; Chuyển nội dung của biến A vào MOV AX,[A] ; thanh ghi AX MOV AH,B ; Truy xuất phần tử đầu tiên của MOV AH,B[0] ; mảng B MOV AH,B + 1 ; Truy xuất phần tử thứ hai của MOV AH,B[1] ; mảng B MOV AH,B + 5 ; Truy xuất phần tử thứ 6 của MOV AH,B[5] ; mảng B Chú ý rằng lệnh MOV AX,[1000h] sẽ chuyển giá trị 1000h vào thanh ghi AX. Nếu muốn chuyển nội dung tại ô nhớ 1000h vào thanh ghi AX thì phải dùng lệnh MOV AX,DS:[1000h] hay MOV AX,DS:1000h Gián tiếp: Toán hạng bộ nhớ gián tiếp cho phép dùng các thanh ghi BX, BP, SI, DI để chỉ các giá trị trong bộ nhớ. VD: MOV BX,2 MOV SI,3 MOV AH,B[BX] ; Chuyển phần tử thứ 3 của mảng B ; vào thanh ghi AH MOV AH,B[BX+1] ; Chuyển phần tử thứ 4 của mảng B MOV AH,B[BX]+1 ; vào thanh ghi AH (BX + 1 = 3) MOV AH,B[BX+SI] ; Chuyển phần tử thứ 6 của mảng B MOV AH,B[BX][SI] ; vào thanh ghi AH MOV AH,[B+BX+SI] ; BX + SI = 5 MOV AH,[B][BX][SI] MOV AH,B[BX+SI+5] ; Chuyển phần tử thứ 11 của mảng B MOV AH,B[BX][SI]+5 ; vào thanh ghi AH MOV AH,[B+BX+SI+5] ; BX + SI + 5 = 10 6. Tạo và thực thi chương trình hợp ngữ Ta có thể tạo và thực thi một chương trình hợp ngữ trên một máy PC theo các bước sau: - Dùng một chương trình soạn thảo văn bản không định dạng (như NC) tạo một tập tin chứa chương trình hợp ngữ (gán phần mở rộng của tập tin này là .ASM, giả sử là TEMP.ASM). - - Dùng chương trình TASM.EXE (Turbo Assembler) để dịch ra mã máy dạng .OBJ: TASM TEMP - Sau khi dịch xong, ta sẽ được file TEMP.OBJ chứa các mã máy của chương trình. Để chuyển thành file thực thi, ta dùng chương trình TLINK.EXE để chuyển thành tập tin .EXE: TLINK TEMP - - Nếu tập tin thực thi ở dạng .COM thì ta dùng thêm chương trình EXE2BIN.EXE: EXE2BIN TEMP TEMP.COM Phạm Hùng Kim Khánh Trang 51
- Tài liệu vi xử lý Lập trình hợp ngữ 7. Tập lệnh hợp ngữ 7.1. Nhóm lệnh chuyển dữ liệu 7.1.1. Nhóm lệnh chuyển dữ liệu đa dụng Lệnh MOV dst,src: chuyển nội dung toán hạng src vào toán hạng dst. Toán hạng nguồn src có thể là thanh ghi (reg), bộ nhớ (mem) hay giá trị tức thời (immed); toán hạng đích dst có thể là reg hay mem. Lệnh MOV có thể có các trường hợp sau: Reg8 ← reg8 MOV AL,AH Reg16 ← reg16 MOV AX,BX Mem8 ← reg8 MOV [BX],AL Reg8 ← mem8 MOV AL,[BX] Mem16 ← reg16 MOV [BX],AX Reg16 ← mem16 MOV AX,[BX] Reg8 ← immed8 MOV AL,04h Mem8 ← immed8 MOV mem[BX],01h Reg16 ← immed16 MOV AL,0F104h Mem16 ← immed16 MOV mem[BX],0101h SegReg ← reg16 MOV DS,AX SegReg ← mem16 MOV DS,mem Reg16 ← segreg MOV AX,DS Mem16 ← segreg MOV [BX],DS - Lệnh MOV không ảnh hưởng đến các cờ. - Không thể chuyển trực tiếp dữ liệu giữa hai ô nhớ mà phải thông qua một thanh ghi MOV AX,mem1 MOV mem2,AX - Không thể chuyển giá trị trực tiếp vào thanh ghi đoạn MOV AX,1010h MOV DS,AX - Không thể chuyển trực tiếp giữa 2 thanh ghi đoạn - Không thể dùng thanh ghi CS làm toán hạng đích Lệnh XCHG dst,src: (Exchange) hoán chuyển nội dung 2 toán hạng. Toán hạng chỉ có thể là reg hay mem. - Lệnh XCHG không ảnh hưởng đến các cờ - Không thể dùng cho các thanh ghi đoạn Lệnh PUSH src: cất nội dung một thanh ghi vào stack. Toán hạng là reg16 Lệnh POP dst: lấy dữ liệu 16 bit từ stack đưa vào toán hạng dst. Ta có thể dùng nhiều lệnh PUSH để cất dữ liệu vào stack nhưng khi dùng lệnh POP để lấy dữ liệu ra thì phải dùng theo thứ tự ngược lại. PUSH AX PUSH BX Phạm Hùng Kim Khánh Trang 52
- Tài liệu vi xử lý Lập trình hợp ngữ PUSH CX … POP CX POP BX POP AX Lệnh XLAT [src]: chuyển nội dung của ô nhớ 8 bit vào thanh ghi AL. Địa chỉ ô nhớ xác định bằng cặp thanh ghi DS:BX (nếu không chỉ ra src) hay src, địa chỉ offset chứa trong thanh ghi AL. Lệnh XLAT tương đương với các lệnh: MOV AH,0 MOV SI,AX MOV AL,[BX+SI] 7.1.2. Nhóm lệnh chuyển địa chỉ Lệnh LEA reg16,mem16: (Load Effective Address) chuyển địa chỉ offset của toán hạng bộ nhớ vào thanh ghi reg16. Lệnh này sẽ tương đương với MOV reg16, OFFSET mem16 Lệnh LDS reg16,mem32: (Load pointer using DS) chuyển nội dung bộ nhớ toán hạng mem32 vào cặp thanh ghi DS:reg16. Lệnh LDS AX,mem tương đương với: MOV AX,mem MOV BX,mem+2 MOV DS,BX Lệnh LES reg16,mem32: (Load pointer using ES) giống như lệnh LDS nhưng dùng cho thanh ghi ES 7.1.3. Nhóm lệnh chuyển cờ hiệu Lệnh LAHF: (Load AH from flag) chuyển các cờ SF, ZF, AF, PF và CF vào các bit 7,6,4,2 và 0 của thanh ghi AH (3 bit còn lại không đổi) Lệnh SAHF: (Store AH into flag) chuyển các bit 7,6,4,2 và 0 của thanh ghi AH vào các cờ SF, ZF, AF, PF và CF. Lệnh PUSHF: chuyển thanh ghi cờ vào stack Lệnh POPF: lấy dữ liệu từ stack chuyển vào thanh ghi cờ 7.1.4. Nhóm lệnh chuyển dữ liệu qua cổng Mỗi I/O port giao tiếp với CPU sẽ có một địa chỉ 16 bit cho nó. CPU gởi hay nhận dữ liệu từ cổng bằng cách chỉ đến địa chỉ cổng đó. Tuỳ theo chức năng mà cổng có thể: chỉ đọc dữ liệu (input port), chỉ ghi dữ liệu (output port) hay có thể đọc và ghi dữ liệu (input/output port). Phạm Hùng Kim Khánh Trang 53
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh IN: đọc dữ liệu từ cổng và đưa vào thanh ghi AL IN AL,port8 IN AL,DX Nếu địa chỉ port chỉ có 8 bit thì có thể đưa giá trị trực tiếp vào, nếu là 16 bit thì phải thông qua thanh ghi AX. Lệnh OUT: ghi dữ liệu trong thanh ghi AL ra cổng OUT port8,AL OUT DX,AL VD: MOV AL,3 OUT 61h,AL ; Gởi giá trị 03h ra cổng 61h MOV AL,1 MOV DX,03F8h ; Xuất ra cổng máy in OUT DX,AL MOV DX,03F8h IN AL,DX ; Đọc dữ liệu từ cổng máy in 7.2. Nhóm lệnh chuyển điều khiển 7.2.1. Lệnh nhảy không điều kiện JMP JMP label JMP reg/mem Lệnh JMP dùng để chuyển điều khiển chương trình từ vị trí này sang vị trí khác (thay đổi nội dung cặp thanh ghi CS:IP). 7.2.2. Lệnh nhảy có điều kiện Lệnh nhảy có điều kiện chỉ sử dụng cho các nhãn nằm trong khoảng từ –127 đến 128 byte so với vị trí của lệnh. Lệnh JA label: (Jump if Above) Nếu CF = 0 và ZF = 0 thì JMP label Lệnh JAE label: (Jump if Above or Equal) Nếu CF = 0 thì JMP label Lệnh JB label: (Jump if Below) Nếu CF = 1 thì JMP label Lệnh JBE label: (Jump if Below or Equal) Nếu CF = 1 hoặc ZF = 1 thì JMP label Lệnh JNA label: (Jump if Not Above) Giống lệnh JBE Lệnh JNAE label: (Jump if Not Above or Equal) Giống lệnh JB Phạm Hùng Kim Khánh Trang 54
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh JNB label: (Jump if Not Below) Giống lệnh JAE Lệnh JNBE label: (Jump if Not Below or Equal) Giống lệnh JA Lệnh JG label: (Jump if Greater) Nếu SF = OF và ZF = 0 thì JMP label Lệnh JGE label: (Jump if Greater or Equal) Nếu SF = OF thì JMP label Lệnh JL label: (Jump if Less) Nếu SF OF thì JMP label Lệnh JLE label: (Jump if Less or Equal) Nếu CF OF hoặc ZF = 1 thì JMP label Lệnh JNG label: (Jump if Not Greater) Giống lệnh JLE Lệnh JNGE label: (Jump if Not Greater or Equal) Giống lệnh JL Lệnh JNL label: (Jump if Not Less) Giống lệnh JGE Lệnh JNLE label: (Jump if Not Less or Equal) Giống lệnh JG Lệnh JC label: (Jump if Carry) Giống lệnh JB Lệnh JNC label: (Jump if Not Carry) Giống lệnh JNB Lệnh JZ label: (Jump if Zero) Nếu ZF = 1 thì JMP label Lệnh JE label: (Jump if Equal) Giống lệnh JZ Lệnh JNZ label: (Jump if Not Zero) Nếu ZF = 0 thì JMP label Lệnh JNE label: (Jump if Equal) Giống lệnh JNZ Phạm Hùng Kim Khánh Trang 55
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh JS label: (Jump on Sign) Nếu SF = 1 thì JMP label Lệnh JNS label: (Jump if No Sign) Nếu SF = 0 thì JMP label Lệnh JO label: (Jump on Overflow) Nếu OF = 1 thì JMP label Lệnh JNO label: (Jump if No Overflow) Nếu OF = 0 thì JMP label Lệnh JP label: (Jump on Parity) Nếu PF = 1 thì JMP label Lệnh JNP label: (Jump if No Parity) Nếu PF = 0 thì JMP label Lệnh JCXZ label: (Jump if CX Zero) Nếu CX = 1 thì JMP label 7.2.3. Lệnh so sánh CMP left(reg/mem), right(reg/mem/immed) Lệnh CMP dùng để so sánh nội dung 2 toán hạng, kết quả chứa vào thanh ghi cờ và không làm thay đổi nội dung các toán hạng. VD: Đoạn chương trình so sánh 2 số A và B: A >B thì nhảy đến label1, A = B thì nhảy đến label2, A < B thì nhảy đến label3. MOV AX,A CMP AX,B JG label1 JL label2 JMP label3 7.2.4. Các lệnh vòng lặp Lệnh LOOP: LOOP label Mô tả: CX = CX – 1 Nếu CX 0 thì JMP label Lệnh LOOPE: LOOPE label Mô tả: CX = CX – 1 Nếu (ZF = 1) và (CX 0) thì JMP label Phạm Hùng Kim Khánh Trang 56
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh LOOPZ: Giống lệnh LOOPE Lệnh LOOPNE: LOOPNE label Mô tả: CX = CX – 1 Nếu (ZF = 0) và (CX 0) thì JMP label Lệnh LOOPNZ: Giống lệnh LOOPNE 7.2.5. Lệnh liên quan đến chương trình con Lệnh CALL: Lệnh CALL dùng để gọi một chương trình con, có thể là near hay far. CALL label ; Gọi chương trình con tại vị trí xác định ; bởi nhãn label CALL reg/mem ; Gọi chương trình con tại vị trí xác định ; trong reg/mem Lệnh RET: (return) RET [n] RETN [n] RETF [n] Lệnh RET dùng để kết thúc chương trình con, điều khiển sẽ được đưa về địa chỉ trước khi gọi chương trình con. RETN để kết thúc chương trình con dạng near và RETF dùng để kết thúc chương trình con dạng far. Trong trường hợp lệnh RET có hằng số n theo sau thì sẽ cộng với thanh ghi SP giá trị n (n phải là số chẵn). Lệnh này dùng để loại bỏ một số tham số chương trình con sử dụng ra khỏi stack. 7.3. Nhóm lệnh xử lý số học 7.3.1. Xử lý phép cộng Lệnh ADD dst,src: dst ← dst + src Toán hạng src có thể là reg, mem hay immed còn toán hạng dst là reg hay mem. - Không thể cộng trực tiếp 2 thanh ghi đoạn - Lệnh ADD ảnh hưởng đến các cờ sau: + Cờ CF: = 1 khi kết quả phép cộng có nhớ hay có mượn + Cờ AF: = 1 khi kết quả phép cộng có nhớ hay có mượn đối với 4 bit thấp + Cờ PF: = 1 khi kết quả phép cộng có tổng 8 bit thấp là một số chẵn. + Cờ ZF: = 1 khi kết quả phép cộng là 0. + Cờ SF: = 1 nếu kết quả phép cộng là một số âm + Cờ OF: = 1 nếu kết quả phép cộng bị sai dấu, nghĩa là vượt ra ngoài phạm vi lớn nhất hay nhỏ nhất mà số có dấu có thể chứa trong toán hạng dst. Phạm Hùng Kim Khánh Trang 57
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh ADC dst, src: (Add with Carry) dst ← dst + src + CF Lệnh ADC thường dùng để cộng các số lớn hơn 16 bit. Lệnh INC dst: (Increment) dst ← dst + 1 Dst có thể là reg hay mem. Lệnh AAA: (ASCII Adjust for Addition) Hiệu chỉnh kết quả phép cộng 2 số BCD dạng không nén (mỗi chữ số BCD lưu bằng 1 byte). VD: MOV AX,9 MOV BX,3 ADD AL,BL ; Kết quả là AX = 0Ch AAA ; AX = 0102h (AH = 1, AL = 2) Lệnh AAA chỉ ảnh hưởng đến các cờ AF và CF, không ảnh hưởng đến các cờ còn lại. Lệnh DAA: (Decimal Adjust for Addition) Hiệu chỉnh kết quả phép cộng 2 số BCD dạng nén (mỗi chữ số BCD lưu bằng 4 bit, nghĩa là 1 byte biểu diễn được các số nguyên từ 0 đến 99). VD: MOV AX,4338h ADD AL,AH ; AX ← 437Bh DAA ; AX ← 4381h (43 + 38 = 81) Lệnh DAA chỉ ảnh hưởng đến các cờ AF, CF, PF, SF, ZF và không ảnh hưởng đến thanh ghi AH. 7.3.2. Xử lý phép trừ Lệnh SUB dst,src: dst ← dst - src Toán hạng src có thể là reg, mem hay immed còn toán hạng dst chỉ có thể là reg hay mem. - Không thể trừ trực tiếp thanh ghi đoạn - Ảnh hưởng đến các cờ AF, CF, OF, PF, SF và ZF. Lệnh SBB dst,src: dst ← dst – src – CF Lệnh ADC thường dùng để trừ các số lớn hơn 16 bit. Lệnh DEC dst: (decrement) dst ← dst – 1 dst là reg hay mem. Lệnh DEC ảnh hưởng đến các cờ AF, OF, PF, SF, ZF. Phạm Hùng Kim Khánh Trang 58
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh NEG dst: dst ← - dst dst là reg hay mem. Lệnh NEG ảnh hưởng đến các cờ: CF = 1 nếu nội dung kết quả là số khác 0. SF = 1 nếu nội dung kết quả là số âm khác 0. PF = 1 nếu tổng 8 bit thấp là một số chẵn. ZF = 1 nếu nội dung kết quả là 0. OF = 1 nếu nội dung toán hạng dst là 80h (dạng byte) hay 8000h (dạng word). VD: Nếu muốn thực hiện phép toán 100 – AH, ta không thể cùng lệnh: SUB 100,AH mà phải dùng lệnh: SUB AH,100 NEG AH Lệnh AAS: (Ascii Adjust for Substract) Hiệu chỉnh kết quả phép trừ 2 số BCD dạng không nén (mỗi chữ số BCD lưu bằng 1 byte). Lệnh AAS chỉ ảnh hưởng cờ AF và CF. Lệnh DAS: (Decimal Adjust for Substract) Hiệu chỉnh kết quả phép trừ 2 số BCD dạng nén (mỗi chữ số BCD lưu bằng 4 bit). Lệnh AAS chỉ ảnh hưởng cờ AF và CF. 7.3.3. Xử lý phép nhân Lệnh MUL src: Nếu src là reg hay mem 8 bit: AX ← AL*src Nếu src là reg hay mem 16 bit: DX:AX ← AX*src Lệnh MUL chỉ ảnh hưởng đến cờ CF và OF. Lệnh IMUL src: Giống như lệnh MUL nhưng kết quả là số có dấu. Lệnh AAM: (Ascii Adjust for Multiple) Hiệu chỉnh kết quả phép nhân 2 số BCD dạng không nén, lệnh AAM thực hiện chia AL cho 10, lưu phần thương vào AL và phần dư vào AH. Lệnh AAM ảnh hưởng đến các cờ PF, SF và ZF. 7.3.4. Xử lý phép chia Lệnh DIV src: Nếu src là reg/mem 8 bit: AL ← AX DIV src và AH ← AX MOD src Nếu src là reg/mem 16 bit: AX ← DX:AX DIV src và DX ← DX:AX MOD src Lệnh DIV không ảnh hưởng đến các cờ nhưng xảy ra tràn trong các trường hợp sau: - Chia cho 0 Phạm Hùng Kim Khánh Trang 59
- Tài liệu vi xử lý Lập trình hợp ngữ - Thương lớn hơn 256 đối với dạng 8 bit. - Thương lớn hơn 65536 đối với dạng 16 bit. Lệnh IDIV src: Giống như lệnh DIV nhưng kết quả là số có dấu. Các trường hợp tràn: - Chia cho 0 - Thương nằm ngoài khoảng (-128,127) đối với dạng 8 bit. - Thương nằm ngoài khoảng (-32767,32768) đối với dạng 16 bit. Lệnh AAD: (Ascii Adjust for Division) Hiệu chỉnh kết quả phép chia 2 số BCD dạng không nén. Lưu ý rằng lệnh AAD phải được thực hiện trước lệnh chia. Sau khi thực hiện chia thì phải hiệu chỉnh lại dạng BCD bằng cách dùng lệnh AAM. Lệnh CBW: (Convert Byte to Word) Nếu AL < 80h thì AH = 0, ngược lại AH = 0FFh Lệnh CBW dùng để chuyển số nhị phân có dấu 8 bit thành số nhị phân có dấu 16 bit. Lệnh CWD: (Convert Word to Double word) Nếu AX < 8000h thì DX = 0, ngược lại DX = 0FFFFh Lệnh CWD dùng để chuyển số nhị phân có dấu 16 bit thành số nhị phân có dấu 32 bit chứa trong DX:AX. 7.3.5. Dịch chuyển và quay Lệnh SHL: (Shift Logical Left) SHL dst,1 SHL dst,CL Dịch trái 1 bit hay CL bit. CF ← dst7 ← dst6 … ← dst0 ← 0 Lệnh SHR: (Shift Logical Right) SHR dst,1 SHR dst,CL Dịch phải 1 bit hay CL bit. 0 → dst7 → dst6 … → dst0 → CF Lệnh SAL: giống SHL Lệnh SAR: Giống như lệnh SHR nhưng giá trị bit dst7 không thay đổi, nghĩa là dst7 → dst7 → dst6 … → dst0 → CF Lệnh ROL: (Rotate Left) ROL dst,1 ROL dst,CL Quay trái 1 bit hay CL bit. CF ← dst7 ← dst6 … ← dst0 ← dst7 Phạm Hùng Kim Khánh Trang 60
- Tài liệu vi xử lý Lập trình hợp ngữ Lệnh ROR: (Rotate Right) ROR dst,1 ROR dst,CL Quay phải 1 bit hay CL bit. dst0 → dst7 → dst6 … → dst0 → CF Lệnh RCL: (Rotate though Carry Left) RCL dst,1 RCL dst,CL Quay trái 1 bit hay CL bit. CF ← dst7 ← dst6 … ← dst0 ← CF Lệnh RCR: (Rotate though Carry Right) RCR dst,1 RCR dst,CL Quay phải 1 bit hay CL bit. CF → dst7 → dst6 … → dst0 → CF 7.3.6. Các lệnh logic Lệnh AND: AND dst,src dst ← dst AND src CF ← 0, OF ← 0 Src là reg, mem hay immed còn dst là reg, mem. Lệnh OR: OR dst,src dst ← dst OR src CF ← 0, OF ← 0 Lệnh XOR: XOR dst,src dst ← dst XOR src CF ← 0, OF ← 0 Lệnh NOT: NOT dst dst ← NOT dst Lệnh NOT không ảnh hưởng đến các cờ. Lệnh TEST: TEST dst,src Lệnh TEST thực hiện phép toán AND 2 toán hạng nhưng chỉ ảnh hưởng đến các cờ và không ảnh hưởng đến toán tử. Phạm Hùng Kim Khánh Trang 61
- Tài liệu vi xử lý Lập trình hợp ngữ 7.4. Nhóm lệnh xử lý chuỗi Bao gồm các lệnh sau: - Lệnh MOVS: chuyển dữ liệu từ vùng nhớ này sang vùng nhớ khác. + MOVSB: chuyển 1 byte từ vị trí chỉ đến bởi SI đến vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 1, DI ← DI + 1 còn nếu DF = 1 thì SI ← SI - 1, DI ← DI - 1. + MOVSW: chuyển 1 word từ vị trí chỉ đến bởi SI đến vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 2, DI ← DI + 2 còn nếu DF ← 1 thì SI ← SI - 2, DI ← DI - 2. - Lệnh CMPS: so sánh nội dung 2 vùng nhớ + CMPSB: so sánh 1 byte tại vị trí chỉ đến bởi SI và tại vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 1, DI ← DI + 1 còn nếu DF ← 1 thì SI ← SI - 1, DI ← DI - 1. + CMPSW: so sánh 1 word tại vị trí chỉ đến bởi SI và tại vị trí chỉ bởi DI. Nếu DF = 0 thì SI ← SI + 2, DI ← DI + 2 còn nếu DF = 1 thì SI ← SI - 2, DI ← DI - 2. - Lệnh SCAS: tìm một phần tử trong vùng nhớ, địa chỉ vùng nhớ xác định bằng cặp thanh ghi ES:DI, giá trị cần tìm đặt trong thanh ghi AL, nếu tìm thấy thì ZF = 1. Giá trị của DI và SI thay đổi giống như trên. - Lệnh LODS: đưa một byte hay word có địa chỉ xác định bởi cặp thanh ghi DS:SI vào thanh ghi AL hay AX. Giá trị của DI và SI thay đổi giống như trên. - Lệnh STOS: chuyển nội dung của AL hay AX vào vùng nhớ xác định bởi cặp thanh ghi ES:DI. Giá trị của DI và SI thay đổi giống như trên. 8. Các cấu trúc cơ bản trong lập trình hợp ngữ 8.1. Cấu trúc tuần tự Cấu trúc tuần tự là cấu trúc đơn giản nhất. Trong cấu trúc tuần tự, các lệnh được sắp xếp tuần tự, lệnh này tiếp theo lệnh kia. Lệnh 1 Lệnh 2 … Lệnh n VD: Cộng 2 giá trị của thanh ghi BX và CX, rồi nhân đôi kết quả, kết quả cuối cùng chứa trong AX MOV AX,BX ADD AX,CX ; Cộng BX với CX SHL AX,1 ; Nhân đôi Phạm Hùng Kim Khánh Trang 62
- Tài liệu vi xử lý Lập trình hợp ngữ 8.2. Cấu trúc IF – THEN, IF – THEN – ELSE IF Điều kiện THEN Công việc IF Điều kiện THEN Công việc1 ELSE Công việc2 VD: Gán BX = |AX| CMP AX,0 ; AX > 0? JNL DUONG ; AX dương NEG AX ; Nếu AX < 0 thì đảo dấu DUONG: MOV BX,AX NEXT: VD: Gán CL giá trị bit dấu của AX CMP AX,0 ; AX > 0? JNS AM ; AX âm MOV CL,1 ; CL = 1 (AX dương) JMP NEXT AM: MOV CL,0 ; CL = 0 (AX âm) NEXT: 8.3. Cấu trúc CASE CASE Biểu thức Giá trị 1: Công việc 1 Giá trị 2: Công việc 2 … Giá trị n: Công việc n END VD: Nếu AX > 0 thì BH = 0, nếu AX < 0 thì BH = 1. Ngược lại BH = 2 CMP AX,0 JL AM JE KHONG JG DUONG DUONG: MOV BH,0 JMP NEXT AM: MOV BH,1 JMP NEXT KHONG: MOV BH,2 NEXT: 8.4. Cấu trúc FOR FOR Số lần lặp DO Công việc VD: Cho vùng nhớ M dài 200 bytes trong đoạn dữ liệu, chương trình đếm số chữ A trong vùng nhớ M như sau: MOV CX,200 ; Đếm 200 bytes MOV BX,OFFSET M ; Lấy địa chỉ vùng nhớ XOR AX,AX ; AX = 0 Phạm Hùng Kim Khánh Trang 63
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập môn lập trình hợp ngữ có đáp án
12 p |
796 |
290
-
Tài liệu tham khỏa: Lập trình hợp ngữ
109 p |
463 |
245
-
Tài liệu: Lập trình hợp ngữ 8051
19 p |
447 |
183
-
Kỹ thuật vi xử lý- chương 2: Lập trình hợp ngữ với 8086/8088
63 p |
209 |
93
-
Bài giảng Vi xử lý và Lập trình hợp ngữ
54 p |
210 |
84
-
Bài tập Lập trình hợp ngữ - Số 2
10 p |
213 |
59
-
Lập trình hợp ngữ MISP
9 p |
151 |
50
-
Bài tập lập trình hợp ngữ - Số 4
25 p |
125 |
30
-
Bài tập Lập trình hợp ngữ - Số 3
8 p |
98 |
30
-
Bài tập lập trình hợp ngữ - Số 6
10 p |
121 |
26
-
Bài tập lập trình hợp ngữ - Số 5
18 p |
84 |
25
-
Bài tập môn Lập trình hợp ngữ - Số 1
10 p |
83 |
21
-
Giáo trình Lập trình hợp ngữ: Phần 1 - Đỗ Văn Toàn, Dương Chính Cương
78 p |
37 |
20
-
Bài giảng Lập trình hợp ngữ: Intel 8086 - Nguyễn Duy Phúc
61 p |
34 |
11
-
Bài giảng Lập trình hợp ngữ
63 p |
24 |
10
-
Đề cương môn học: Lập trình hợp ngữ
8 p |
10 |
1
-
Chương trình học phần: Lập trình hợp ngữ
5 p |
7 |
1

Set-Cookie: TLDEVNamespace=i3dodcfa27ou4ctc49s5jv8f87; path=/; domain=.tailieu.vn; HttpOnly

Server: Apache/2.2.31 (CentOS)

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache


text:
Công nghệ VoIP
-
Phần 1 cuốn sách "Công nghệ VoIP và các giải pháp nâng cao chất lượng dịch vụ" do ThS. Ngô Xuân Thành biên soạn cung cấp cho người đọc các kiến thức: Giới thiệu chung, tổng quan về giao thức TCP/IP, công nghệ VoIP. Mời các bạn cùng tham khảo nội dung chi tiết.
136p doinhugiobay_07 16-12-2015 37 15 Download
-
Nối tiếp nội dung của phần 1 cuốn sách "Công nghệ VoIP và các giải pháp nâng cao chất lượng dịch vụ", phần 2 giới thiệu tới người đọc các nội dung: Các giao thức điều khiển, QoS và các yếu tố chính ảnh hưởng đến chất lượng thoại IP, các giải pháp nâng cao chất lượng thoại. Mời các bạn cùng tham khảo.
150p doinhugiobay_07 16-12-2015 18 6 Download
-
Với sự phát triển mạnh mẽ của mạng Internet hiện nay, cùng với các dịch vụ đi kèm, công nghệ truyền giọng nói qua mạng Internet (VoIP) dần một thay thế công nghệ truyền giọng nói qua mạng điện thoại truyền thống. Với những ưu điểm của mình công nghệ VoIP sẽ ngày một phát triển trong tương lai. Và trường đại học với hạ tầng mạng đã được xây dựng tốt và hoàn thiện cũng đang hướng tới việc sử dung công nghệ VoIP...
69p chieu_mua 27-08-2012 144 93 Download
-
Trước khi đi vào chi tiết về những công nghệ khác nhau để bảo vệ cho mạng VoIP. Bạn cần phải hiểu những vấn đề và tập hợp những nhu cầu mà bạn đã được thấy. Phần này sẽ phác thảo những nhu cầu bảo mật tiêu biểu.
7p ht09dng 01-08-2010 147 67 Download
-
Bài báo này nghiên cứu một số vấn đề về công nghệ truyền thông sử dụng giao thức mạng Internet (công nghệ VoIP). Trên cở sở những nghiên cứu đó, đưa ra giải pháp để xây dựng một hệ thống truyền thông ứng dụng công nghệ VoIP tại Trường Đại học Nông nghiệp Hà Nội. Bài báo cũng giới thiệu những kết quả bước đầu của việc ứng dụng công nghệ VoIP và khả năng xây dựng một mạng truyền thông hợp nhất tại Trường Đại học Nông nghiệp Hà Nội. ...
10p kem3mau 13-06-2013 39 6 Download
-
Ứng dụng VoIP đầu tiên được phát triển năm 1995 bởi một công ty của Israeli tên là VocalTel . Ứng dụng này là phần mềm điện thoại internet chạy trên máy tính cá nhân giống như điện thoại PC ngày nay sử dụng card âm thanh, microm loa.
37p anhtai10987 16-03-2011 467 293 Download
-
Sự xuất hiện của VoIP đã gây nên một sự chú ý đặc biệt trong lĩnh vực viễn thông thế giới, lợi ích mà nó mang lại là rất lớn. Sự xuất hiện của VoIP đã gây nên một sự chú ý đặc biệt trong lĩnh vực viễn thông thế giới, lợi ích mà nó mang lại là rất lớn. Đối với người tiêu dùng, lợi ích đầu tiên mà họ đạt được là chi phí cuộc gọi sẽ rẻ hơn đáng kể. Còn đối với các nhà sản xuất, ...
95p chieuwindows23 01-06-2013 106 70 Download
-
"Đồ án tốt nghiệp: Tìm hiểu các giao thức trong VoIP" trình bày về những giao thức chính được sử dụng trong VoIP như: giao thức thiết lập và điều khiển cuộc gọi: H.323, SIP; giao thức truyền tin trên mạng TCP/IP; các giao thức nén và giải nén thông tin; các dịch vụ sử dụng công nghệ VoIP trên thế giới và ở Việt Nam. Tài liệu hữu ích với các bạn chuyên ngành Công nghệ Thông tin.
136p hung181994 23-09-2014 48 25 Download
-
Tham khảo luận văn - đề án 'luận văn: nghiên cứu ứng dụng công nghệ điện thoại trên internet ( internet telephony voip)', luận văn - báo cáo phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
117p vjppro 18-11-2009 384 299 Download
-
Ra đời từ cách đây rất lâu nhưng điện thoại vẫn là phương tiện liên lạc hữu hiệu trong mọi lĩnh vực – từ quân sự, an ninh quốc phòng cho đến sinh hoạt đời sống sinh hoạt hằng ngày của chúng ta. Ngày nay, với sự phát triển mạnh mẽ của Internet, ra đời nhiều loại hình dịch vụ phục vụ cho việc liên lạc của con người. Trong đó VoIP là công nghệ mang tính cách mạng làm thay đổi thế giới điện thoại với chất lượng dịch vụ khá cao....
30p nguyenquangha1991 19-12-2012 175 89 Download
-
VoIP là công nghệ truyền thoại qua mạng IP, VoIP đã phát triển từ những năm 90 của thế kỷ trƣớc. VoIP ra đời là một bƣớc đột phá lớn trong lĩnh vực viễn thông, VoIP thừa hƣởng những ƣu điểm mà mạng IP đem lại. Công nghệ VoIP từ khi ra đời đến nay đã và đang đƣợc nghiên cứu, phát triển để ngày càng đáp ứng tốt hơn các yêu cầu về chất lƣợng dịch vụ, giá thành, số lƣợng tích hợp các dịch vụ thoại và phi thoại, an toàn bảo mật thông tin.
110p chieuwindows23 01-06-2013 109 64 Download
-
VoIP (viết tắt của Voice over Internet Protocol, nghĩa là Truyền giọng nói trên giao thức IP) là công nghệ truyền tiếng nói của con người (thoại) qua mạng thông tin sử dụng bộ giao thức TCP/IP.
12p babankimcuong 29-03-2011 109 62 Download
-
Khái niệm : H323 cho phép truyền thông đa phương tiện qua các hệ thống dựa trên chuyển mạch gói. Chức năng : cung cấp nền tảng kĩ thuật cho truyền thoại, điều khiển cuộc gọi, quản lí thông tin đa phương tiện, quản lí băng thông, cung cấp giao diện giữa mạng LAN với các mạng khác. Các thành phần : terminal, gateway, gatekeeper, multipoint control unit.
32p namnetitk54 18-01-2013 69 43 Download
-
ĐỀ TÀI “ĐÁNH GIÁ VỀ CHẤT LƯỢNG DỊCH VỤ TRONG MẠNG VOIP” CHƯƠNG II CÁC GIAO THỨC TRONG VoIP Trong một vài năm trở lại dây, công nghệ VoIP đã trở thành một công nghệ hứa hẹn mang lại các lợi ích to lớn cho xã hội, nhiều tổ chức đã tiến hành nghiên cứu và phát triển các giao thức cho VoIP mà đáng quan tâm hơn cả là hai giao thức H.323 và SIP đang được tiến hành tại nhiều quốc gia trên thế giới. 2.1 Hệ thống VoIP H.323 2.1.1 Giới thiệu Chuẩn H.
20p kimku1 27-08-2011 69 31 Download
-
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip)', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
46p abcdef_37 10-10-2011 59 22 Download
-
Công nghệ này bản chất là dựa trên chuyển mạch gói, nhằm thay thế công nghệ truyền thoại cũ dùng chuyển mạch kênh.
12p babankimcuong 29-03-2011 71 21 Download
-
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip): chất lượng dịch vụ cho voip', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
9p abcdef_37 10-10-2011 53 15 Download
-
Tài liệu công nghệ Voice over Internet Protocol (VoIP): CHƯƠNG 4: TRIỂN KHAI VOIP TRÊN THẾ GIỚI VÀ Ở VIỆT NAM
4.1 Triển khai VoIP trên thế giới Các công ty điện thoại truyền thống trên thế giới thu được một khoản lợi nhuận bình quân trong một năm từ các dịch vụ thoại vào khoảng 200 tỷ USD, và hiện nay họ đang nhằm vào một kho báu vô chủ là giao thức Internet trên cơ sở hệ thống điện thoại. Điện thoại IP đang phát triển mạnh mẽ trong giới khách hàng kinh doanh. Theo con số điều tra gần đây của Cahners In-Stat Group thì trên một nửa trong số 128 công ty mua công nghệ đã sẵn...
4p abcdef_37 10-10-2011 58 14 Download
-
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip): giám sát chất lượng truyền tin cho voip', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
6p abcdef_37 10-10-2011 42 12 Download
-
Tài liệu công nghệ Voice over Internet Protocol (VoIP): CHƯƠNG 3 CÁC BIỆN PHÁP ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip): chương 3 các biện pháp đảm bảo chất lượng dịch vụ', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
11p abcdef_37 10-10-2011 30 11 Download
CHỦ ĐỀ BẠN MUỐN TÌM
- Đồ án công nghệ gia công
- Đề án công nghệ thông tin
- Đồ án công nghệ chế tạo máy
- Công nghệ xử lý nước thải
- Công nghệ đúc
- Công nghệ gia công tấm
- Luận văn công nghệ vi sinh
- Công nghệ xây dựng
- Công nghệ gia công cơ
- Công nghệ thông tin
- Ứng dụng công nghệ thông tin
- Công nghệ thông tin là gì
- Giải pháp công nghệ thông tin
- Từ điển công nghệ thông tin
- Đồ án công nghệ
- Từ điển công nghệ
- Sổ tay công nghệ chế tạo máy
- Quản lý công nghệ
- Công nghệ điện tử
- Công nghệ ô tô

markdown:
# Công nghệ VoIP
**Công nghệ VoIP**
-
Phần 1 cuốn sách "Công nghệ VoIP và các giải pháp nâng cao chất lượng dịch vụ" do ThS. Ngô Xuân Thành biên soạn cung cấp cho người đọc các kiến thức: Giới thiệu chung, tổng quan về giao thức TCP/IP, công nghệ VoIP. Mời các bạn cùng tham khảo nội dung chi tiết.
136p
doinhugiobay_07
16-12-2015
37
15
Download
-
Nối tiếp nội dung của phần 1 cuốn sách "Công nghệ VoIP và các giải pháp nâng cao chất lượng dịch vụ", phần 2 giới thiệu tới người đọc các nội dung: Các giao thức điều khiển, QoS và các yếu tố chính ảnh hưởng đến chất lượng thoại IP, các giải pháp nâng cao chất lượng thoại. Mời các bạn cùng tham khảo.
150p
doinhugiobay_07
16-12-2015
18
6
Download
-
Với sự phát triển mạnh mẽ của mạng Internet hiện nay, cùng với các dịch vụ đi kèm, công nghệ truyền giọng nói qua mạng Internet (VoIP) dần một thay thế công nghệ truyền giọng nói qua mạng điện thoại truyền thống. Với những ưu điểm của mình công nghệ VoIP sẽ ngày một phát triển trong tương lai. Và trường đại học với hạ tầng mạng đã được xây dựng tốt và hoàn thiện cũng đang hướng tới việc sử dung công nghệ VoIP...
69p
chieu_mua
27-08-2012
144
93
Download
-
Trước khi đi vào chi tiết về những công nghệ khác nhau để bảo vệ cho mạng VoIP. Bạn cần phải hiểu những vấn đề và tập hợp những nhu cầu mà bạn đã được thấy. Phần này sẽ phác thảo những nhu cầu bảo mật tiêu biểu.
7p
ht09dng
01-08-2010
147
67
Download
-
Bài báo này nghiên cứu một số vấn đề về công nghệ truyền thông sử dụng giao thức mạng Internet (công nghệ VoIP). Trên cở sở những nghiên cứu đó, đưa ra giải pháp để xây dựng một hệ thống truyền thông ứng dụng công nghệ VoIP tại Trường Đại học Nông nghiệp Hà Nội. Bài báo cũng giới thiệu những kết quả bước đầu của việc ứng dụng công nghệ VoIP và khả năng xây dựng một mạng truyền thông hợp nhất tại Trường Đại học Nông nghiệp Hà Nội. ...
10p
kem3mau
13-06-2013
39
6
Download
-
Ứng dụng VoIP đầu tiên được phát triển năm 1995 bởi một công ty của Israeli tên là VocalTel . Ứng dụng này là phần mềm điện thoại internet chạy trên máy tính cá nhân giống như điện thoại PC ngày nay sử dụng card âm thanh, microm loa.
37p
anhtai10987
16-03-2011
467
293
Download
-
Sự xuất hiện của VoIP đã gây nên một sự chú ý đặc biệt trong lĩnh vực viễn thông thế giới, lợi ích mà nó mang lại là rất lớn. Sự xuất hiện của VoIP đã gây nên một sự chú ý đặc biệt trong lĩnh vực viễn thông thế giới, lợi ích mà nó mang lại là rất lớn. Đối với người tiêu dùng, lợi ích đầu tiên mà họ đạt được là chi phí cuộc gọi sẽ rẻ hơn đáng kể. Còn đối với các nhà sản xuất, ...
95p
chieuwindows23
01-06-2013
106
70
Download
-
"Đồ án tốt nghiệp: Tìm hiểu các giao thức trong VoIP" trình bày về những giao thức chính được sử dụng trong VoIP như: giao thức thiết lập và điều khiển cuộc gọi: H.323, SIP; giao thức truyền tin trên mạng TCP/IP; các giao thức nén và giải nén thông tin; các dịch vụ sử dụng công nghệ VoIP trên thế giới và ở Việt Nam. Tài liệu hữu ích với các bạn chuyên ngành Công nghệ Thông tin.
136p
hung181994
23-09-2014
48
25
Download
-
Tham khảo luận văn - đề án 'luận văn: nghiên cứu ứng dụng công nghệ điện thoại trên internet ( internet telephony voip)', luận văn - báo cáo phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
117p
vjppro
18-11-2009
384
299
Download
-
Ra đời từ cách đây rất lâu nhưng điện thoại vẫn là phương tiện liên lạc hữu hiệu trong mọi lĩnh vực – từ quân sự, an ninh quốc phòng cho đến sinh hoạt đời sống sinh hoạt hằng ngày của chúng ta. Ngày nay, với sự phát triển mạnh mẽ của Internet, ra đời nhiều loại hình dịch vụ phục vụ cho việc liên lạc của con người. Trong đó VoIP là công nghệ mang tính cách mạng làm thay đổi thế giới điện thoại với chất lượng dịch vụ khá cao....
30p
nguyenquangha1991
19-12-2012
175
89
Download
-
VoIP là công nghệ truyền thoại qua mạng IP, VoIP đã phát triển từ những năm 90 của thế kỷ trƣớc. VoIP ra đời là một bƣớc đột phá lớn trong lĩnh vực viễn thông, VoIP thừa hƣởng những ƣu điểm mà mạng IP đem lại. Công nghệ VoIP từ khi ra đời đến nay đã và đang đƣợc nghiên cứu, phát triển để ngày càng đáp ứng tốt hơn các yêu cầu về chất lƣợng dịch vụ, giá thành, số lƣợng tích hợp các dịch vụ thoại và phi thoại, an toàn bảo mật thông tin.
110p
chieuwindows23
01-06-2013
109
64
Download
-
VoIP (viết tắt của Voice over Internet Protocol, nghĩa là Truyền giọng nói trên giao thức IP) là công nghệ truyền tiếng nói của con người (thoại) qua mạng thông tin sử dụng bộ giao thức TCP/IP.
12p
babankimcuong
29-03-2011
109
62
Download
-
Khái niệm : H323 cho phép truyền thông đa phương tiện qua các hệ thống dựa trên chuyển mạch gói. Chức năng : cung cấp nền tảng kĩ thuật cho truyền thoại, điều khiển cuộc gọi, quản lí thông tin đa phương tiện, quản lí băng thông, cung cấp giao diện giữa mạng LAN với các mạng khác. Các thành phần : terminal, gateway, gatekeeper, multipoint control unit.
32p
namnetitk54
18-01-2013
69
43
Download
-
ĐỀ TÀI “ĐÁNH GIÁ VỀ CHẤT LƯỢNG DỊCH VỤ TRONG MẠNG VOIP” CHƯƠNG II CÁC GIAO THỨC TRONG VoIP Trong một vài năm trở lại dây, công nghệ VoIP đã trở thành một công nghệ hứa hẹn mang lại các lợi ích to lớn cho xã hội, nhiều tổ chức đã tiến hành nghiên cứu và phát triển các giao thức cho VoIP mà đáng quan tâm hơn cả là hai giao thức H.323 và SIP đang được tiến hành tại nhiều quốc gia trên thế giới. 2.1 Hệ thống VoIP H.323 2.1.1 Giới thiệu Chuẩn H.
20p
kimku1
27-08-2011
69
31
Download
-
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip)', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
46p
abcdef_37
10-10-2011
59
22
Download
-
Công nghệ này bản chất là dựa trên chuyển mạch gói, nhằm thay thế công nghệ truyền thoại cũ dùng chuyển mạch kênh.
12p
babankimcuong
29-03-2011
71
21
Download
-
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip): chất lượng dịch vụ cho voip', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
9p
abcdef_37
10-10-2011
53
15
Download
-
[Tài liệu công nghệ Voice over Internet Protocol (VoIP): CHƯƠNG 4: TRIỂN KHAI VOIP TRÊN THẾ GIỚI VÀ Ở VIỆT NAM](http://tailieu.vn/doc/tai-lieu-cong-nghe-voice-over-internet-protocol-voip-chuong-4-trien-khai-voip-tren-the-gioi-va-o-882573.html)
4.1 Triển khai VoIP trên thế giới Các công ty điện thoại truyền thống trên thế giới thu được một khoản lợi nhuận bình quân trong một năm từ các dịch vụ thoại vào khoảng 200 tỷ USD, và hiện nay họ đang nhằm vào một kho báu vô chủ là giao thức Internet trên cơ sở hệ thống điện thoại. Điện thoại IP đang phát triển mạnh mẽ trong giới khách hàng kinh doanh. Theo con số điều tra gần đây của Cahners In-Stat Group thì trên một nửa trong số 128 công ty mua công nghệ đã sẵn...
4p
abcdef_37
10-10-2011
58
14
Download
-
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip): giám sát chất lượng truyền tin cho voip', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
6p
abcdef_37
10-10-2011
42
12
Download
-
[Tài liệu công nghệ Voice over Internet Protocol (VoIP): CHƯƠNG 3 CÁC BIỆN PHÁP ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ](http://tailieu.vn/doc/tai-lieu-cong-nghe-voice-over-internet-protocol-voip-chuong-3-cac-bien-phap-dam-bao-chat-luong-d-882572.html)
Tham khảo tài liệu 'tài liệu công nghệ voice over internet protocol (voip): chương 3 các biện pháp đảm bảo chất lượng dịch vụ', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
11p
abcdef_37
10-10-2011
30
11
Download
## CHỦ ĐỀ BẠN MUỐN TÌM
[Đồ án công nghệ gia công](http://tailieu.vn/tag/do-an-cong-nghe-gia-cong.html) [Đề án công nghệ thông tin](http://tailieu.vn/tag/de-an-cong-nghe-thong-tin.html) [Đồ án công nghệ chế tạo máy](http://tailieu.vn/tag/do-an-cong-nghe-che-tao-may.html) [Công nghệ xử lý nước thải](http://tailieu.vn/tag/cong-nghe-xu-ly-nuoc-thai.html) [Công nghệ đúc](http://tailieu.vn/tag/cong-nghe-duc.html) [Công nghệ gia công tấm](http://tailieu.vn/tag/cong-nghe-gia-cong-tam.html) [Luận văn công nghệ vi sinh](http://tailieu.vn/tag/luan-van-cong-nghe-vi-sinh.html) [Công nghệ xây dựng](http://tailieu.vn/tag/cong-nghe-xay-dung.html) [Công nghệ gia công cơ](http://tailieu.vn/tag/cong-nghe-gia-cong-co.html) [Công nghệ thông tin](http://tailieu.vn/tag/cong-nghe-thong-tin.html) [Ứng dụng công nghệ thông tin](http://tailieu.vn/tag/ung-dung-cong-nghe-thong-tin.html) [Công nghệ thông tin là gì](http://tailieu.vn/tag/cong-nghe-thong-tin-la-gi.html) [Giải pháp công nghệ thông tin](http://tailieu.vn/tag/giai-phap-cong-nghe-thong-tin.html) [Từ điển công nghệ thông tin](http://tailieu.vn/tag/tu-dien-cong-nghe-thong-tin.html) [Đồ án công nghệ](http://tailieu.vn/tag/do-an-cong-nghe.html) [Từ điển công nghệ](http://tailieu.vn/tag/tu-dien-cong-nghe.html) [Sổ tay công nghệ chế tạo máy](http://tailieu.vn/tag/so-tay-cong-nghe-che-tao-may.html) [Quản lý công nghệ](http://tailieu.vn/tag/quan-ly-cong-nghe.html) [Công nghệ điện tử](http://tailieu.vn/tag/cong-nghe-dien-tu.html) [Công nghệ ô tô](http://tailieu.vn/tag/cong-nghe-o-to.html)

Set-Cookie: TLDEVNamespace=gpfr20ogba3vqu3d0iarfjadg7; path=/; domain=.tailieu.vn; HttpOnly


text:
Laser lập bản đồ
-
Đề xuất xây dựng LEP3 thay thế LHC. Bộ ba nhà vật chất ngưng tụ giành giải thưởng Dirac Hiệu ứng Hall tương đối tính Ảnh toàn cảnh trước xe tự hành Curiosity Dạng mới của carbon: vô định hình có trật tự CERN phá kỉ lục nhiệt độ cao nhất.
35p camthudanvip 11-03-2013 23 4 Download
-
Mạng máy tính là hệ thống các máy tính độc lập (autonomous) được kết nối với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ chủ/tớ (master/slave) rõ ràng. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông... Việc kết nối các máy tính có những ưu điểm sau...
104p ruavanguom 23-10-2012 81 51 Download
-
Chúng tôi đề nghị bạn thực hiện các biện pháp phòng ngừa thích hợp và mặc đồ bảo hộ cho giai đoạn này của cuộc tấn công. Khi epoxy được lấy ra từthương mại chuyển tinh thể kim loại Ion Laser Bảng 1.1.16 thương mại tinh thể kim loại chuyển tiếp Laser Ion
119p banhbeo1 03-11-2011 30 4 Download
-
. Phát laser bước sóng và công suất đầu ra của laser trung tâm màu phụ thuộc vào đặc điểm của khoang quang học, nhiệt độ, máy bơm nguồn quang, và các điều kiện hoạt động khác. Các tài liệu tham khảo ban đầu
119p banhbeo1 03-11-2011 27 1 Download
-
tăng cường sản lượng laser bởi các phản ứng hạt nhân, quốc gia Hàng không và Cục Quản lý không gianchưa xuất bản (1966),Công ty, đời ước tôi Neon dòng tia laser và đo tần số bơm quang họcmới mạnh mẽ hành động của tia laser và các bài tập trongquan sát và phân công
119p banhbeo1 03-11-2011 17 1 Download
-
Laser được phỏng theo maser, một thiết bị có cơ chế tương tự nhưng tạo ra tia vi sóng hơn là các bức xạ ánh sáng. Maser đầu tiên được tạo ra bởi Charles H. Townes và sinh viên tốt nghiệp J.P. Gordon và H.J. Zeiger vào năm 1953. Maser đầu tiên đó không tạo ra tia sóng một cách liên tục.
20p tieulaubau 21-06-2011 153 77 Download
-
Lắp hệ thống đèn laser bảo vệ nhà Khi xem phim khoa học viễn tưởng, người ta thường thấy nhân vật phải bò lê và tránh hàng rào ánh sáng laser đỏ lừ. Đó chính là hệ thống bảo vệ mà bạn có thể dựng lên để báo hiệu kẻ xấu đột nhập.
7p davidvilla2425 03-04-2011 36 6 Download
-
và hình ảnh thành các chấm nhỏ mà làm cho sản lượng lên in.) Tùy chọn trình đơn hỗn hợp có nghĩa là cho các thiết bị chống chẳng hạn như máy in phun và máy in laser. Hầu hết các máy in như là màu đen và trắng hoặc CMYK, vì vậy bạn thường chọn CMYK hỗn hợp màu xám hay Composite. Chọn composite RGB đầu ra cho các tài liệu định dạng PDF để hiển thị trên màn hình.
93p myngoc7 09-10-2011 25 2 Download
-
Một phần máy in được mực từ trống cảm quang lên giấy? A. Laser-scannering lắp ráp B. keo lắp ráp lắp ráp Corona C. D. Drum 20. Nào sau đây không phải là một lợi thế của Universal Serial Bus (USB) giao diện máy in? A. Nó có một tốc độ truyền tải cao hơn so với một kết nối nối tiếp.
98p banhbeo8 22-11-2011 29 2 Download
-
Bệnh viện điều dưỡng và phục hồi chức năng tỉnh Khánh Hòa đã tiến hành nghiên cứu can thiệp laser nội tĩnh mạch đối với tai biến mạch máu não (TBMMN), có so sánh với lô chứng, nhận thấy: hiệu ứng laser nội tĩnh mạch đã tác động tới quá trình phục hồi chức năng của bệnh nhân TBMMN: mức độ phục hồi sức cơ nhanh hơn; tính độc lập về chức năng của bệnh nhân được cải thiện nhiều hơn; cải thiện nhanh về tâm trí; phục hồi các hoạt động cơ bản tron...
6p aquafresh 25-12-2010 451 89 Download
-
Mặc dù nó có vẻ khá nhàm chán lúc đầu, webcam này thực sự là rất nhiều niềm vui. Kiểm tra các nút thú vị ở phía trên bên phải nắm bắt được. Tôi chắc chắn rằng cách nhấp vào nút đó bắn tia laser vào các thùng màu trắng nổ, tạo ra cuộc tàn sát tối đa, nhưng chỉ có thể được thực hiện một lần, trừ khi bạn thiết lập chúng để respawn, mà sẽ mang chúng trở lại tự động.
10p yukogaru9 29-10-2010 18 4 Download
CHỦ ĐỀ BẠN MUỐN TÌM
- Lập kế hoạch bán hàng
- Bản đồ địa chính
- Đồ án lập trình giao tiếp
- Lập bản đồ tư duy
- Bản đồ học
- Bản đồ tư duy là gì
- Bản đồ tư duy trong công việc
- Bản đồ tư duy trong học tập
- Phần mềm bản đồ tư duy
- Bản đồ tư duy
- Bản đồ đại cương
- Đo vẽ bản đồ địa chính
- Quyết định lập ban quản lý dự án
- Bản đồ quy hoạch
- Bản đồ du lịch
- Lập trình đồ họa
- Bản đồ địa chất
- Bản đồ địa lý
- Bản đồ chiến lược
- Bản đồ địa hình

markdown:
# Laser lập bản đồ
**Laser lập bản đồ**
-
Đề xuất xây dựng LEP3 thay thế LHC. Bộ ba nhà vật chất ngưng tụ giành giải thưởng Dirac Hiệu ứng Hall tương đối tính Ảnh toàn cảnh trước xe tự hành Curiosity Dạng mới của carbon: vô định hình có trật tự CERN phá kỉ lục nhiệt độ cao nhất.
35p
camthudanvip
11-03-2013
23
4
Download
-
Mạng máy tính là hệ thống các máy tính độc lập (autonomous) được kết nối với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ chủ/tớ (master/slave) rõ ràng. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông... Việc kết nối các máy tính có những ưu điểm sau...
104p
ruavanguom
23-10-2012
81
51
Download
-
Chúng tôi đề nghị bạn thực hiện các biện pháp phòng ngừa thích hợp và mặc đồ bảo hộ cho giai đoạn này của cuộc tấn công. Khi epoxy được lấy ra từthương mại chuyển tinh thể kim loại Ion Laser Bảng 1.1.16 thương mại tinh thể kim loại chuyển tiếp Laser Ion
119p
banhbeo1
03-11-2011
30
4
Download
-
. Phát laser bước sóng và công suất đầu ra của laser trung tâm màu phụ thuộc vào đặc điểm của khoang quang học, nhiệt độ, máy bơm nguồn quang, và các điều kiện hoạt động khác. Các tài liệu tham khảo ban đầu
119p
banhbeo1
03-11-2011
27
1
Download
-
tăng cường sản lượng laser bởi các phản ứng hạt nhân, quốc gia Hàng không và Cục Quản lý không gianchưa xuất bản (1966),Công ty, đời ước tôi Neon dòng tia laser và đo tần số bơm quang họcmới mạnh mẽ hành động của tia laser và các bài tập trongquan sát và phân công
119p
banhbeo1
03-11-2011
17
1
Download
-
Laser được phỏng theo maser, một thiết bị có cơ chế tương tự nhưng tạo ra tia vi sóng hơn là các bức xạ ánh sáng. Maser đầu tiên được tạo ra bởi Charles H. Townes và sinh viên tốt nghiệp J.P. Gordon và H.J. Zeiger vào năm 1953. Maser đầu tiên đó không tạo ra tia sóng một cách liên tục.
20p
tieulaubau
21-06-2011
153
77
Download
-
Lắp hệ thống đèn laser bảo vệ nhà Khi xem phim khoa học viễn tưởng, người ta thường thấy nhân vật phải bò lê và tránh hàng rào ánh sáng laser đỏ lừ. Đó chính là hệ thống bảo vệ mà bạn có thể dựng lên để báo hiệu kẻ xấu đột nhập.
7p
davidvilla2425
03-04-2011
36
6
Download
-
và hình ảnh thành các chấm nhỏ mà làm cho sản lượng lên in.) Tùy chọn trình đơn hỗn hợp có nghĩa là cho các thiết bị chống chẳng hạn như máy in phun và máy in laser. Hầu hết các máy in như là màu đen và trắng hoặc CMYK, vì vậy bạn thường chọn CMYK hỗn hợp màu xám hay Composite. Chọn composite RGB đầu ra cho các tài liệu định dạng PDF để hiển thị trên màn hình.
93p
myngoc7
09-10-2011
25
2
Download
-
Một phần máy in được mực từ trống cảm quang lên giấy? A. Laser-scannering lắp ráp B. keo lắp ráp lắp ráp Corona C. D. Drum 20. Nào sau đây không phải là một lợi thế của Universal Serial Bus (USB) giao diện máy in? A. Nó có một tốc độ truyền tải cao hơn so với một kết nối nối tiếp.
98p
banhbeo8
22-11-2011
29
2
Download
-
Bệnh viện điều dưỡng và phục hồi chức năng tỉnh Khánh Hòa đã tiến hành nghiên cứu can thiệp laser nội tĩnh mạch đối với tai biến mạch máu não (TBMMN), có so sánh với lô chứng, nhận thấy: hiệu ứng laser nội tĩnh mạch đã tác động tới quá trình phục hồi chức năng của bệnh nhân TBMMN: mức độ phục hồi sức cơ nhanh hơn; tính độc lập về chức năng của bệnh nhân được cải thiện nhiều hơn; cải thiện nhanh về tâm trí; phục hồi các hoạt động cơ bản tron...
6p
aquafresh
25-12-2010
451
89
Download
-
Mặc dù nó có vẻ khá nhàm chán lúc đầu, webcam này thực sự là rất nhiều niềm vui. Kiểm tra các nút thú vị ở phía trên bên phải nắm bắt được. Tôi chắc chắn rằng cách nhấp vào nút đó bắn tia laser vào các thùng màu trắng nổ, tạo ra cuộc tàn sát tối đa, nhưng chỉ có thể được thực hiện một lần, trừ khi bạn thiết lập chúng để respawn, mà sẽ mang chúng trở lại tự động.
10p
yukogaru9
29-10-2010
18
4
Download
## CHỦ ĐỀ BẠN MUỐN TÌM
[Lập kế hoạch bán hàng](http://tailieu.vn/tag/lap-ke-hoach-ban-hang.html) [Bản đồ địa chính](http://tailieu.vn/tag/ban-do-dia-chinh.html) [Đồ án lập trình giao tiếp](http://tailieu.vn/tag/do-an-lap-trinh-giao-tiep.html) [Lập bản đồ tư duy](http://tailieu.vn/tag/lap-ban-do-tu-duy.html) [Bản đồ học](http://tailieu.vn/tag/ban-do-hoc.html) [Bản đồ tư duy là gì](http://tailieu.vn/tag/ban-do-tu-duy-la-gi.html) [Bản đồ tư duy trong công việc](http://tailieu.vn/tag/ban-do-tu-duy-trong-cong-viec.html) [Bản đồ tư duy trong học tập](http://tailieu.vn/tag/ban-do-tu-duy-trong-hoc-tap.html) [Phần mềm bản đồ tư duy](http://tailieu.vn/tag/phan-mem-ban-do-tu-duy.html) [Bản đồ tư duy](http://tailieu.vn/tag/ban-do-tu-duy.html) [Bản đồ đại cương](http://tailieu.vn/tag/ban-do-dai-cuong.html) [Đo vẽ bản đồ địa chính](http://tailieu.vn/tag/do-ve-ban-do-dia-chinh.html) [Quyết định lập ban quản lý dự án](http://tailieu.vn/tag/quyet-dinh-lap-ban-quan-ly-du-an.html) [Bản đồ quy hoạch](http://tailieu.vn/tag/ban-do-quy-hoach.html) [Bản đồ du lịch](http://tailieu.vn/tag/ban-do-du-lich.html) [Lập trình đồ họa](http://tailieu.vn/tag/lap-trinh-do-hoa.html) [Bản đồ địa chất](http://tailieu.vn/tag/ban-do-dia-chat.html) [Bản đồ địa lý](http://tailieu.vn/tag/ban-do-dia-ly.html) [Bản đồ chiến lược](http://tailieu.vn/tag/ban-do-chien-luoc.html) [Bản đồ địa hình](http://tailieu.vn/tag/ban-do-dia-hinh.html)

Set-Cookie: TLDEVNamespace=ssf6mmmnis3ojvn96npquuing6; path=/; domain=.tailieu.vn; HttpOnly