- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
4.6常用彙編副程式表4-1十六進制數與ASCII碼的關係表4.3分支程式設計(2) 組合語言根源程式組合語言根源程式如下:? XDATA20H? YDATA30H? ORG0000H? MOVA,X? XRLA,Y ;(X)與(Y)進行異或操作? JBACC.7,NEXT1 ;累加器A的第7位為1,兩符號數不同,轉移到NEXT1? MOVA,X? CJNEA,Y,NEQUAL ;(X)≠(Y),轉移到NEQUAL? CLRP1.0 ;(X)=(Y),點亮P1.0連接的LED? SJMPFINISHNEQUAL: JCXXY ;(X)<(Y),轉移到XXY? SJMPXDY ;否則,(X)>(Y),轉移到XDYNEXT1: MOVA,X? JNBACC.7,XDY ;判斷(X)的最高位D7,以確定其正負XXY: CLRP1.2 ;(X)<(Y),點亮P1.2連接的LED? SJMPFINISHXDY: CLRP1.1 ;(X)>(Y),點亮P1.1連接的LEDFINISH: SJMP$? END4.3分支程式設計(3) 程式說明① 判斷兩個有符號數異同的方法。 本例中使用異或指令,將(X)與(Y)進行異或操作,那麼,(X)的符號位(X)7與(Y)的符號位(Y)7異或的結果如下: 若(X)7與(Y)7相同,則(X)7⊕(Y)7=0。 若(X)7與(Y)7不相同,則(X)7⊕(Y)7=1。本例中,(X)與(Y)的異或結果存放在累加器A中,因此判斷ACC.7是否為零即可知道兩個數符號相同與否。② 比較兩個有符號數的其他方法。 除了本例中使用的比較兩個有符號數的方法之外,我們還可以利用溢出標誌OV的狀態來判斷兩個有符號數的大小。具體演算法如下: 若X-Y為正數,則OV=0時X>Y;OV=1時X<Y。 若X-Y為負數,則OV=0時X<Y;OV=1時X>Y。4.3分支程式設計4.3.2分支程式結構 分支程式比順序程式的結構複雜得多,其主要特點是程式的流向有兩個或兩個以上的出口,根據指定的條件進行選擇確定。編程的關鍵是如何確定供判斷或選擇的條件及選擇合理的分支指令。 通常,根據分支程式中的出口的個數分為單分支結構程式(兩個出口)和多分支程式結構(三個或三個以上出口)。下麵以單分支程式為例進行說明。4.3分支程式設計1.單分支結構程式的形式 單分支結構在程式設計中應用最廣,擁有的指令也最多。單分支結構一般為一個入口,兩個出口。如圖4-7所示,單分支結構程式有以下兩種典型形式:圖4-7(a)表示當條件滿足時執行分支程式1,否則執行分支程式2;圖4-7(b)表示當條件滿足時跳過程序段2,從程式段3往下執行,否則執行分支程式2和3。(a)(b)圖4-7單分支結構程式的典型形式4.3分支程式設計2.轉移條件的形成 分支程式的轉移條件一般都是程式狀態字(PSW)中標志位的狀態,因此,保證分支程式正確流向的關鍵如下。(1)在判斷之前,應執行對有關標誌位有影響的指令,使該標誌位能夠適應問題的要求,這就要求編程員要十分瞭解指令對標誌位的影響情況。(2)當某一標誌位處於某種狀態時,在未執行下一條影響標誌位的指令前,它一直保持原狀態不變。(3)正確理解PSW中各標誌位的含義及變化情況,才能正確地判斷轉移。4.4迴圈程式設計4.4.1迴圈程式實例 本節用實例介紹迴圈程式設計的方法。1.單迴圈程式設計【例4.8】用P1口連接的8個LED模擬霓虹燈的顯示方式。編程實現P1口連接的8個LED顯示方式如下:按照從P1.0到P1.7的順序,依次點亮其連接的LED。(1) 題意分析 這種顯示方式是一種動態顯示方式,逐一點亮一個燈,使人們感覺到點亮燈的位置在移動。根據點亮燈的位置,我們要向P1口依次送入以下的立即數: FEH——點亮P1.0連接的LED MOVP1,#0FEH FDH——
文档评论(0)