亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 匯編.txt

?? 會變語言實現(xiàn)的一些程序
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
        PUSH    CX
        REP     MOVSB
        POP     CX
        SUB     DX,CX
    為什么不干脆些?
        SUB     DX,CX
        REP     MOVSB

  6,有段程序,很有規(guī)律,但卻極無效率:
    X1:
        TEST    AH,1
        JZ      X2
        MOV     BUF1,BL
    X2:
        TEST    AH,2
        JZ      X3
        MOV     BUF2,DX     ; 凡雙數(shù)用DX,單數(shù)用BL
    X3:
        TEST    AH,4
        JZ      X4
        MOV     BUF3,BL
    X4:
        ..                  ; 以下各段與上述程序相似
    X8:
        ..
        這種金玉其表的程序,最沒有實用價值,改的方法應(yīng)由緩沖器著手,先安排成
序列,由小而大如:
        BUF1    DB  ?
        BUF2    DW  ?
        BUF3    DB  ?
        BUF4    DW  ?
        ..
    然后,程序改為:
        MOV     DI,OFFSET BUF1      ; 第一個緩沖器
        MOV     AL,BL
        MOV     CX,4
    X1:
        SHR     AH,1
        JZ      X2
        STOSB
    X2:
        SHR     AH,1
        JZ      X3
        MOV     [DI],DX
        INC     DI
        INC     DI
    X3:
        LOOP    X1

  7,回路最怕千回百轉(zhuǎn),不暢不順,如:
        SUB     AH,AH
    ABCD:
        CMP     AL,BL
        JB      ABCD1
        SUB     AL,BL
        INC     AH
        JMP     ABCD
    ABCD1:
        ..
      以上 ABCD1這個入口是多余的,下面就好得多:
        MOV     AH,-1
    ABCD:
        INC     AH
        SUB     AL,BL
        JA      ABCD
        ADD     AL,BL       ; 還原
        ..

  8,當處理字碼時,需要字母的序數(shù),有這樣的寫法:
        CMP     AL,60H
        JA      ABCD1
        SUB     AL,40H      ; 大寫字母
    ABCD:
        ..
    ABCD1:
        SUB     AL,60H      ; 小寫字母
        JMP     ABCD
        要知道字母碼的特色在于大寫為 40H 至4AH,小寫為60H 至6AH ,以上程序,
其實只要一個指令就可以了:
        AND     AL,1FH
    簡單明了!

  9,大多數(shù)的程序在程序員自己測試下很少發(fā)生錯誤,而一旦換一另個人執(zhí),就會發(fā)現(xiàn)
錯誤百出。
        其原因在于寫程序者已經(jīng)假定了正確的情況,當然不會以明知為錯誤的方式操
作。可是換了一個人,沒有先入為主的成見,很可能輸入了「不正確」的數(shù)據(jù),結(jié)果是
問題叢生。
        要知道真正的使用者,絕非設(shè)計者本人,在操作過程中,按鍵錯誤在所難免。
這種錯誤應(yīng)該在程序中事先加以檢查,凡是輸入數(shù)據(jù)有「正確、錯誤」之別者,錯誤性
數(shù)據(jù)一定要事先加以排除。
        這樣做看起來似乎程序不夠精簡,可是正確的重要性遠在精簡之上。一旦發(fā)生
了錯誤,再精簡的程序也沒有使 用價值。
        此外,在程序中常有加、減的運算,這時也應(yīng)該作正確性檢查,否則會發(fā)生上
述同樣的問題。

三、指令應(yīng)用要靈活

    有一段很簡單的程序,其寫作的方法甚多,但是指令應(yīng)用的良窳,會使得程序的效
率相去天上地下,難以估計。
    這段程序的用途,是要將一段數(shù)據(jù)中,英文字符大、小寫相互轉(zhuǎn)換。當然,轉(zhuǎn)換的
選擇要由使用者決定,在下面程序且略去使用界面,假設(shè)已得知轉(zhuǎn)換的方式。
    設(shè)數(shù)據(jù)在 DS:SI中,數(shù)據(jù)長度=CX ,大寫轉(zhuǎn)小寫時BL=0,反之,則BL=1。
    我見過一種寫法,簡直無法原諒:
    1: LOOP1:
    2:  CALL CHANGE
    3:  JC LOOP11
    4:  ADD AL,20H
    5:  JMP SHORT LOOP12
    6: LOOP11:
    7:  SUB AL,20H
    8: LOOP12:
    9:  MOV [SI-1],AL
   10:  LOOP LOOP1
   11:  RET
   12: CHANGE:
   13:  LODSB
   14:  OR BL,BL
   15:  JZ CHANGS
   16:  CMP AL,61H
   17:  JB CHARET
   18:  CMP AL,7AH
   19:  JA CHARET
   20:  STC
   21: CHARET:
   22:  RET
   23: CHANGS:
   24:  CMP AL,41H
   25:  JB CHARET
   26:  CMP AL,5AH
   27:  JA CHARET
   28:  CLC
   29:  RET
    這種程序錯在把由12到29的程序?qū)懙锰L,共 25B,有共享的價值,于是作為子程
序調(diào)用。
    試想一下,每一筆數(shù)據(jù),都要調(diào)用一次,浪費四個字符事小,但每次要費 23+20個
時鐘脈沖,數(shù)據(jù)多時,不啻為天文數(shù)字。更何況這段程序?qū)懙脴O差,在回路中,又多浪
費了幾十個時鐘。關(guān)于這一點,下面會繼續(xù)討論。
    照上面這段程序,略加改進,寫法如下:
    1: CHANGE:
    2:  LODSB
    3:  OR BL,BL
    4:  JZ CHANGS
    5:  CMP AL,61H
    6:  JB CHARET
    7:  CMP AL,7AH
    8:  JA CHARET
    9:  SUB AL,20H
   10: CHANG0:
   11:  MOV [SI-1],AL
   12: CHANG1:
   13:  LOOP CHANGE
   14:  RET
   15: CHANGS:
   16:  CMP AL,41H
   17:  JB CHANG1
   18:  CMP AL,5AH
   19:  JA CHANG1
   20:  ADD AL,20H
   21:  JMP CHANG1
    這樣的寫法還是不佳,因為在回路中,用常數(shù)與寄存器比較,速度較寄存器相比為
慢。應(yīng)該先將需要比較的值,放在暫存器DH,DL 中,改進如次:
    1:  MOV AH,20H
    2:  MOV DX,7A61H
    3:  OR BL,BL
    4:  JZ CHANGE
    5:  MOV DX,5A41H
    6: CHANGE:
    7:  LODSB
    8:  CMP AL,DL
    9:  JB CHANG1
   10:  CMP AL,DH
   11:  JA CHANG1
   12:  XOR AL,AH
   13:  MOV [SI-1],AL
   14: CHANG1:
   15:  LOOP CHANGE
   16:  RET
    以上這段程序,空間小,速度快,每筆數(shù)據(jù),平均僅需不到40個時鐘值,以10 MHZ
計,十萬筆數(shù)據(jù),約需半秒鐘!
請注意程序中所用的技巧,由2至6的分支法,就比下面這種寫法為佳:
    1:  OR BL,BL
    2:  JZ CHAN1
    3:  MOV DX,5A41H
    4:   JMP SHORT CHANGE
    5: CHAN1:
    6:  MOV DX,7A61H
    7: CHANGE:
    這種分支也可以由另一種技巧所取代,即預(yù)設(shè)法。事先將所需用的參數(shù)放在固定的
緩沖區(qū)中,此時取用即可:
        MOV  DX,BWCOM   ; 比較之默認值
    這樣程序又簡單些了:
    1:    MOV AH,20H
    2:  MOV DX,BWCOM
    3: CHANGE:
    4:  LODSB
    5:  CMP AL,DL
    6:  JB CHANG1
    7:  CMP AL,DH
    8:  JA CHANG1
    9:  XOR AL,AH
   10:  MOV [SI-1],AL
   11: CHANG1:
   12:  LOOP CHANGE
   13:  RET

    以上介紹為變量法技巧,即將所要比較的值,放在寄存器中。由于寄存器快速、節(jié)
省空間,因此程序效率高。更重要的一點,是程序本身的彈性大,只要應(yīng)用方式統(tǒng)一,
事先把參數(shù)設(shè)妥,即可共享。

四、回路中的指令

    回路最重要的是速度,因為本段程序,將在計數(shù)器的范圍之內(nèi),連續(xù)執(zhí)行下去。如
果不小心浪費了幾個時鐘值,在回路的累積下,很可能使程序成為牛步。
    要想把回路寫好,一定要記清楚每個指令的執(zhí)行時鐘,以便選擇效率最高者。同時,
要知道哪些指令可以獲得相同的處理效果,才能有更多的選擇。
    其次,在回路中,最忌諱用緩沖器,不僅占用空間大,處理速度慢,而且不能靈活
運用,功能有限。另外也應(yīng)極力避免常數(shù),盡量設(shè)法經(jīng)由寄存器執(zhí)行,用得巧妙時,常
會將整個程序的效率提高百十倍。
    還有便是少用 PUSH,POP,DIV,MUL和 CALL 等浪費時鐘的指令。除此之外,小心、
謹慎,深思、熟慮,才是把回路寫好的不二法門。
    在前例中,把比較常數(shù)的指令換為比較暫存器,便是很好的證明。如果用常數(shù),兩
段程序決不可能共享,時、空都無謂地浪費了。
    以下再舉數(shù)例,乍看這似乎有些吹毛求疵,但是仔細計算一下所浪費的時間,可能
就笑不出聲了。
茲假定以下回路需處理五萬字符的數(shù)據(jù),頻率為 10MHZ,其情況為:
    1: LOOP1:
    2:          LODSB
    3:  XOR AL,[DI]
    4:  STOSB
    5:  LOOP LOOP1
    本程序計數(shù)器等于50,000,每次需
    12T+14T+11T+17T=55T 個時鐘脈沖
若以50,000次計,需時 47*50,000/10,000,000 秒,即約四分之一秒。
    只要稍稍將指令調(diào)整一下,為:
    1: LOOP1:
    2:          LODSW
    3:  XOR AX,[DI]
    4:  STOSW
    5:  LOOP LOOP1
    這樣計數(shù)器只要25,000次,每次
16T+18T+15T+17T=66T
    則25,000次需時 66*25,000/10,000,000 秒,約六分之一秒,比前面的程序快了二
分之一。
    同理,在回路中加回路,而每個回路需 17T,也是很大的浪費。倘若加調(diào)用 CALL
指令,則需 23T+20T=43T,浪費得更多,讀者不可不慎。
    當某一段程序用得很頻繁時,理應(yīng)視作子程序,例如下面的 LODAX:
    1: LOOP1:
    2:  CALL LODAX
    3:  LOOP LOOP1
    4:  RET
    5: LODAX:
    6:  LODSW
    7:  XOR AX,[DI]
    8:  STOSW
    9:  RET
    其實這是貪小失大,僅四個字符的程序,竟用三個字符的調(diào)用指令去交換,是絕對
得不償失的。
    再如同下面的程序,頗有值得商榷之處。
    1: LOOP1:
    2:  MOV DX,NUMBER1
    3:  MOV CX,NUMBER2
    4: LOOP2:
    5:  PUSH CX
    6:  MOV CX,DX
    7: LOOP3:
    8:  LODSW
    9:  XOR AX,[DI]
   10:  STOSW
   11:  LOOP LOOP3
   12:  INC  DI
   13:  INC  DI
   14:  POP CX
   15:  LOOP LOOP2
   16:  RET
    第二個回路是多余的,這是高級語言常用的觀念,對匯編語言完全不適用。
    稍加改動,不損上面程序原有的條件,得到:
    1: LOOP1:
    2:  MOV DX,NUMBER1
    3: LOOP2:
    4:  MOV CX,NUMBER2
    5: LOOP3:
    6:  LODSW
    7:  XOR AX,[DI]
    8:  STOSW
    9:  LOOP LOOP3
   10:  INC  DI
   11:  INC  DI
   12:  DEC     DX
   13:  JNZ LOOP2
   14:  RET
這樣回路少了一個,程序中將5,6,14,15 各條中原來為15T+2T+12T+17T=46T的時間,省
為12,13,14條的2T+16T+17T=35T。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产人妖系列| 亚洲少妇中出一区| 一区二区三区在线观看动漫| 日韩成人午夜电影| 一本到三区不卡视频| 久久久99久久| 伦理电影国产精品| 精品国精品自拍自在线| 亚洲欧美偷拍三级| 99精品久久免费看蜜臀剧情介绍| 91久久精品午夜一区二区| 亚洲色图制服丝袜| www.成人在线| 亚洲视频你懂的| 91免费精品国自产拍在线不卡| 久久久精品蜜桃| 懂色av中文字幕一区二区三区| 欧美大片免费久久精品三p| 日本视频免费一区| 福利91精品一区二区三区| 国产亚洲制服色| 99久久综合色| 亚洲免费视频成人| 欧美一区欧美二区| 国产精品一区二区久久不卡| 精品伦理精品一区| 成人一区二区三区视频在线观看| 国产精品麻豆视频| 欧美色大人视频| 国内精品久久久久影院薰衣草| 国产欧美日韩中文久久| k8久久久一区二区三区| 日韩精品成人一区二区三区| 精品久久久久久久久久久久包黑料 | 欧美又粗又大又爽| 午夜精品一区在线观看| 国产午夜精品一区二区三区视频| 国产成人精品免费一区二区| 亚洲黄色小视频| 精品国产sm最大网站免费看| 色视频成人在线观看免| 国产精品亚洲第一| 亚洲影院免费观看| 中文无字幕一区二区三区| 欧美区在线观看| 成人免费av在线| 九一九一国产精品| 日本三级韩国三级欧美三级| 久久久久久久久久久黄色| 欧美无人高清视频在线观看| 国产一区二区久久| 久久99国产精品久久| 视频一区在线播放| 亚洲综合色视频| 尤物在线观看一区| 亚洲精品高清在线| 一区二区三区日韩精品视频| 国产精品理论片| 欧美国产一区在线| 久久久久久97三级| 国产日韩欧美精品综合| 国产日本一区二区| 精品噜噜噜噜久久久久久久久试看| 国产成人av自拍| 国产99久久久国产精品潘金网站| 国内精品伊人久久久久av一坑| 精品一区二区三区日韩| 国模大尺度一区二区三区| 国产精品自在在线| 风间由美一区二区三区在线观看| 另类小说视频一区二区| 国产在线精品一区二区不卡了| 国产精品888| 日本欧美在线观看| 国产一区二区在线看| a在线播放不卡| 精品粉嫩超白一线天av| 夜色激情一区二区| 成人免费av网站| 精品粉嫩超白一线天av| 亚洲影院在线观看| 欧美大度的电影原声| 成人免费的视频| 在线精品观看国产| 精品福利一区二区三区免费视频| 亚洲日本在线看| 国产一区二区三区在线观看免费视频 | 久久99热99| 欧美精品电影在线播放| 久久伊人蜜桃av一区二区| 一区二区三区四区在线播放| 国产美女av一区二区三区| 91精品久久久久久久91蜜桃| 麻豆成人av在线| 欧美日韩在线三级| 亚洲一区影音先锋| 欧美性色黄大片| 亚洲高清视频在线| kk眼镜猥琐国模调教系列一区二区| 精品久久久久一区| 黄一区二区三区| 久久青草欧美一区二区三区| 丝袜亚洲精品中文字幕一区| 欧美性xxxxx极品少妇| 亚洲激情自拍视频| 在线不卡a资源高清| 亚洲成人免费在线| 日韩精品一区二区三区蜜臀| 久久精品国产成人一区二区三区| 精品久久久久久无| 成人av在线资源网站| 亚洲精品视频自拍| 欧美美女喷水视频| 国产一区二区三区免费看| 中文文精品字幕一区二区| 91视频免费看| 免费看日韩精品| 中文字幕欧美日韩一区| 欧洲生活片亚洲生活在线观看| 麻豆91在线播放免费| 日韩毛片一二三区| 这里只有精品免费| 国产**成人网毛片九色 | 亚洲一区二区免费视频| 久久美女艺术照精彩视频福利播放| 成人高清免费在线播放| 日韩av中文字幕一区二区三区| 久久久影视传媒| 欧美一区二区三区爱爱| 成a人片亚洲日本久久| 日本亚洲视频在线| 亚洲精品视频自拍| 中文字幕中文在线不卡住| 欧美一级xxx| 欧美综合欧美视频| 91视频在线观看免费| 国产v综合v亚洲欧| 看国产成人h片视频| 香蕉久久一区二区不卡无毒影院| 国产精品久久久久久妇女6080| 久久先锋影音av| 久久久久久一二三区| 2024国产精品| 一区二区三区加勒比av| 亚洲精选视频免费看| 亚洲免费观看高清完整| 亚洲欧美在线另类| 亚洲免费观看高清完整版在线 | 成人做爰69片免费看网站| 精品一区二区国语对白| 蜜臀av性久久久久蜜臀aⅴ| 日本美女一区二区三区| 美女视频一区二区| 韩日精品视频一区| 不卡的av网站| 欧美日韩免费视频| 日韩精品综合一本久道在线视频| 精品国产欧美一区二区| 精品国产乱码久久久久久久久| 精品第一国产综合精品aⅴ| 国产性天天综合网| 亚洲男同1069视频| 激情小说欧美图片| 色婷婷国产精品| 欧美一级爆毛片| 亚洲欧美经典视频| 狠狠色丁香婷综合久久| 91老师片黄在线观看| 日韩欧美久久一区| 一区二区三区四区视频精品免费| 美女免费视频一区| 欧美影院一区二区三区| 久久久久久日产精品| 首页综合国产亚洲丝袜| 国内成人自拍视频| 欧美精品高清视频| 亚洲在线成人精品| 成人免费视频免费观看| 日韩免费观看2025年上映的电影| 亚洲精品国产品国语在线app| 国产麻豆精品一区二区| 欧美精品vⅰdeose4hd| 亚洲精品高清在线| 一本到高清视频免费精品| 国产免费成人在线视频| 国产一区二区看久久| 日韩一区二区免费在线电影| 亚洲综合在线免费观看| 欧美影院一区二区| 一区二区三区在线影院| 一本到三区不卡视频| 自拍偷拍亚洲综合| 91亚洲精品乱码久久久久久蜜桃| 日本一区二区综合亚洲| 成人手机在线视频| 中文字幕av一区 二区| k8久久久一区二区三区| 一级日本不卡的影视| 欧美午夜影院一区| 久久国产精品一区二区|