Nhãn Mã lệnh Các toán hạng Chú thích LB_10: Mov cx,ax ;nạp vào cx giá trị trong ax Ví dụ: Mov dest,src ;dest :=src copy dữ liệu từ toán hạng nguồn - src (reg/mem) vào toán hạng đích-dest Chú ý: - Không chuyển dữ liệu trực tiếp giữa hai toán hạng bộ nhớ với nhau mà cần qua một thanh ghi trung gian. - Không thể chuyển trực tiếp một hằng vào một thanh ghi đoạn mà cần qua một thanh ghi trung gian. - Không thể chuyển trực tiếp giữa hai thanh ghi đoạn. - Không thể dùng thanh ghi đoạn CS làm toán hạng đích trong lệnh MOV - Bộ nhớ mà hình màu bắt đầu ở địa chỉ B800:0000 - Mỗi ký tự trên màn hình được thể hiện bằng 2 byte trong bộ nhớ trong đó. - Lệnh PUSH. Cú pháp: PUSH src PUSH AX Chức năng: Dùng để cất một hằng,nội dung một thanh ghi 16 bit hay nội dung toán hạng bộ nhớ 16 bit vào ngăn xếp (STACK) - Lệnh POP. Cú Pháp: POP Dest POP AX Chức năng: POP dùng để lấy dữ liệu đang hiện hành trên đỉnh của STACK (được xác định bởi cặp thanh ghi SS:SP) vào toán hạng Dest. Lệnh POP tăng thanh ghi 2 đơn vị để chỉ đến đỉnh mới của STACK. - Lệnh Mov. Nhãn Mã lệnh Các toán hạng Chú thích LB_10: Mov cx,ax ;nạp vào cx giá trị trong ax Ví dụ: Mov dest,src ;dest :=src copy dữ liệu từ toán hạng nguồn - src (reg/mem) vào toán hạng đích-dest Chú ý: - Không chuyển dữ liệu trực tiếp giữa hai toán hạng bộ nhớ với nhau mà cần qua một thanh ghi trung gian. - Không thể chuyển trực tiếp một hằng vào một thanh ghi đoạn mà cần qua một thanh ghi trung gian. - Không thể chuyển trực tiếp giữa hai thanh ghi đoạn. - Không thể dùng thanh ghi đoạn CS làm toán hạng đích trong lệnh MOV - Bộ nhớ mà hình màu bắt đầu ở địa chỉ B800:0000 - Mỗi ký tự trên màn hình được thể hiện bằng 2 byte trong bộ nhớ trong đó. - Lệnh PUSH. Cú pháp: PUSH src PUSH AX Chức năng: Dùng để cất một hằng,nội dung một thanh ghi 16 bit hay nội dung toán hạng bộ nhớ 16 bit vào ngăn xếp (STACK) - Lệnh POP. Cú Pháp: POP Dest POP AX Chức năng: POP dùng để lấy dữ liệu đang hiện hành trên đỉnh của STACK (được xác định bởi cặp thanh ghi SS:SP) vào toán hạng Dest. Lệnh POP tăng thanh ghi 2 đơn vị để chỉ đến đỉnh mới của STACK. a.Nhảy không điều kiện Lệnh nhảy không điều kiện là lệnh JMP (jump) dẫn đến việc chuyển điều khiển không điều kiện. Cú pháp JMP đích; đích là một địa chỉ, nhãn … Mô tả: Thực hiện rẽ nhánh không điều kiện chương trình tới địa chỉ được chỉ ra, địa chỉ này có thể là một giá trị hằng số, hoặc một nhãn,… Lệnh JMP làm thay đổi CS:IP, làm cho nó chứa địa chỉ của đích cần nhảy tới Có thể áp dụng cho các bộ vi xử lý: 8086/8088, 80286, 80386, 80486 Thuộc nhóm lệnh: chuyển điều khiển Có cờ bị ảnh hưởng: không Ví dụ: JMP loc_1 ;với loc_1 là tên nhãn JMP AX ;nhảy tới địa chỉ trong AX JMP [BX] ;nhảy tới địa chỉ trong BX b.Nhảy có điều kiện Mô tả: Lệnh nhảy có điều kiện là lệnh thực hiện rẽ nhánh tới một địa chỉ toán hạng nếu như cờ CF và cờ ZF cùng bị xoá Phạm vi của lệnh nhảy có điều kiện: máy đòi hỏi nhãn đích phải đứng trước lệnh nhảy không quá 126 byte và đứng sau không quá 127 byte Ví dụ: Lệnh JA – (Jump if Above nhảy nếu kết quả cho phép so sánh là lớn hơn) Cú pháp JA TARGET ; TARGET là đĩa chỉ,nhãn… Các lệnh nhảy có điều kiện Mã lệnh Y nghĩa Điều kiện nhảy Các lệnh tương đương JA Jump if Above (CF=0) và JNBE (ZF=0) JNA Jump if not Above (CF=1) hoặc (ZF=1) JBE JAE Jump if Above or Equal CF=0 JNB,JNC JNAE Jump if Not Above or Equal (CF=1) JB,JC JB Jump if Below CF=1 JC,JNAE JNB Jump if Not Below CF=0 JNC,JAE JBE Jump if Below or Equal (CF=1) hoặc (ZF=1) JNA JNBE Jump if Not Below or Equal (CF=0) và (ZF=0) JA JC Jump on Carry CF = 1 JB,JNAE JNC Jump on Not Carry CF = 0 JNB,JAE JCXZ Jump if CX =0 CX = 0 JE Jump if Equal ZF=1 JZ JNE Jump if Not Equal ZF=0 JNZ JG Jump if Greater (SF=OF) hoặc (ZF=0) JNLE JNG Jump if Not (SF<>OF) hoặc JLE . Nhãn Mã lệnh Các toán hạng Chú thích LB_10: Mov cx,ax ;nạp vào cx giá trị trong ax Ví dụ: Mov dest,src ;dest :=src copy dữ liệu từ toán hạng nguồn - src (reg/mem) vào toán hạng đích-dest. SS:SP) vào toán hạng Dest. Lệnh POP tăng thanh ghi 2 đơn vị để chỉ đến đỉnh mới của STACK. - Lệnh Mov. Nhãn Mã lệnh Các toán hạng Chú thích LB_10: Mov cx,ax ;nạp vào cx giá trị trong. bằng 2 byte trong bộ nhớ trong đó. - Lệnh PUSH. Cú pháp: PUSH src PUSH AX Chức năng: Dùng để cất một hằng,nội dung một thanh ghi 16 bit hay nội dung toán hạng bộ nhớ 16 bit vào ngăn xếp