例題1:題目 a的bcd碼為(56)bcd ,b的bcd碼為(67)bcd,執行以下指令
add a, r2
da a 分析指令執行後的結果 第三章ppt 76
例題2:題目 編寫2個十六進製制數的加法程式,假定和數超過雙位元組。
(21h 20h)+(31h 30h)——>( 42h 41h 40h )
分析:線低位元組作不帶進製求和,再作帶進製高位元組求和。
mov a ,20h
add a, 30h
mov 40h ,a
mov a,21h
addc a ,31h
mov 41h,a
mov a,#0
addc a,#0
mov 42h,a
(ppt80 有6位bcd碼的加法每一步都加了da操作,而且da操作只能對a進行操作)
例題3:題目 雙位元組無符號數相減(31h 30h)— (41h 40h)—>(31h 30h)
程式如下:
clr c //清零進製端
mov r0,#30h
mov r1,#40h
mov a, @r0 //取出被減數低位元組
subb a, @r1
mov @r0,a //存低位元組的差值
inc r0 //指向高位元組
inc r1
mov a,@r0
subb a,@r1
mov @r0,a
例題4:題目 雙位元組乘法程式 (r0 r1)x(r2)—> r3 r4 r5
mov a,r1
mov b,r2
mul ab
mov r5 ,a
mov r4, b
mov a,r1
mov b,r2
mul ab
add a,r4
mov r4 a
mov a,b
addc a,#0 //我不明白為什麼會有進製端
mov r3, a
例題5:題目 設40h單元中存放乙個16位二進位制的低8位,41h單元中存放這個16位二進位制的高八位(假設這個數小於128),請將這個16位二進位制數進行左移1位 思路:利用cy
clr c
mov r1,#40h
mov a,@r1
rlc a
mov @r1,a //儲存低8位位元組
inc r1
mov a,@r1
rlc a //高八位左移,並帶進低8位左移產生的進製位
mov @r1,a
寫程式需要注意:寫進來用暫存器a進行執行的時候,最後需要再(放)加回去。
比較不相等指令:
若 第乙個運算元≠第二個運算元 則跳轉
並且 第乙個運算元》第二個運算元 cy=0
第乙個運算元《第二個運算元 cy=1
若 第乙個運算元=第二個運算元 cy=0,並且順序執行
所以比較大小直接cjne 之後jc就行
例題6:題目 利用djnz指令設計延時迴圈程式,已知 f=12mhz
dealy:mov r7,#10
djnz r7,$
延遲長度:△t=1us x 2 x 10 + 1us = 21us
例題7:題目 統計片內ram 30h開始的20個帶符號數中負數的個數,結果存入50h單元
mov r2,#20h //迴圈次數
mov r3,#0 //負數個數
mov r0 , #30h //ram起始位址
loop:
mov a, @r0
jnb acc.7,l1 //判斷最高位
inc r3
l1:inc r0
djnz r2,loop
mov 50h ,r3
第三章學習筆記
執行執行緒,簡稱執行緒,是在程序中活動的物件。核心排程的物件是執行緒,而不是程序。程序描述符中包含的資料能完整地描述乙個正在執行的程式 各種狀態之間存在轉換的條件,若滿足則進行轉換,跟模擬電路中所學的狀態機是乙個道理。通過st task state task,state 函式來設定當前程序狀態 fo...
第三章筆記
第三章預習筆記 一 高階語言和機器指令中的運算 1,按位運算 符號 按位or運算 符號 按位and運算 符號 表示按位not運算 符號 按位xor運算。實現掩碼操作 通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行 置1 清0 等。2,符號 按位or運算 符號 表示and運算 符號...
Asp學習筆記第三章
2006 07 20 20 03 07 asp學習筆記第三章 一 收集客戶端資料到伺服器語句request 1.表單頁面 這句一定要放到表單標籤的第一行 2.處理表單頁面 dim id,pwd id request.form id1 pwd request.form pwd1 if isempty ...