2.47) a. Chương trình con RTN làm nhiệm vụ đẩy thanh ghi PSW vào stack (cất các giá trị trong thanh ghi trạng thái vào stack)
b. Thanh ghi R0 là địa chỉ nguồn
c. Thanh ghi R1 là địa chỉ đích
* Chương trình làm nhiệm vụ copy một dãy giá trị bít có độ dài là B từ địa chỉ mà R0 chỉ đến địa chỉ mà R1 chỉ đến
d.Thanh ghi B là độ dài đoạn giá trị bít cần copy
e.Ta cần thêm vào chương trình các lệnh
PUSH 0;
PUSH 1;
ở sau hàng PUSH PSW;
và POP 0;
POP 1;
ở trước hàng POP PSW;
2.48
a. Chương trình con trên làm nhiệm vụ xóa các bít từ 20H đến địa chỉ 7FH
b-c. số chu kỳ máy độ dài byte
SUB: MOV R0,#20H; 1 2
LOOP: MOV @R0,#0; 1 2
INC R0; 1 1
CJNE R0,#80H,LOOP; 2 3
RET 2 1
d. f = 12MHZ
T = 0,083 us
từ đoạn chương trình trên ta suy ra vòng lặp ở trong tốn số chu kỳ máy là
7F -20 +1 = 60H = 96D
suy ra t = T*(96+1+2) = 8,22us