Professional Documents
Culture Documents
Lab01
Lab01
Lab01
MSSV: 22521086
Lớp: CE103O22.2
Tiếp theo, ta thực hiện quá trình trừ 2 số 32 bits thông qua đoạn code sau:
Đầu tiên, ta gán 16 bits thấp lần lượt vào thanh ghi AX và BX thông qua lệnh MOV. Sau
đó thực hiện phép tính trừ 2 số 16 bits thông qua lệnh SUB và giá trị sẽ trả về thanh ghi
AX.
Tiếp theo, ta sẽ gán giá trị vừa mới tìm được vào RESULT và lưu vào trong Stack
Sau đó, ta gán địa chỉ tiếp theo của NUM1 là [ NUM1+2 ] thông qua lệnh MOV vào
trong thanh ghi AX. Tương tự với NUM2 và địa chỉ được gán vào thanh ghi BX
Tiếp theo, ta thực hiện lệnh SBB để trừ 2 số 16 bits cao. Nếu phép tính ở 16 bits thấp có
nhớ sau khi thực hiện trừ thì lệnh SBB sẽ giúp trừ 2 số 16 bits và cả bit nhớ. Kết quả sẽ
được lưu vào thanh ghi AX.
Sau đó, ta thực hiện lệnh MOV để gán giá trị tại thanh ghi AX vào trong địa chỉ tiếp theo
của RESULT là [ RESULT +2 ].
Lệnh JNC EXIT sẽ thực hiện nhảy đến label EXIT khi cờ CF = 0 và thực hiện lệnh tiếp
theo khi cờ CF =1.
Lệnh INC CARRY sẽ tăng giá trị của biến CARRY lên 1 khi cờ CF = 1.
Cuối cùng là lệnh kết thúc chương trình.
Kết quả của phép toán:
Hình 3: Kết quả hiển thị trên memory