欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

電子發(fā)燒友網(wǎng)>控制/MCU>匯編語言詳解

匯編語言詳解

  A>=B CF=0 || ZF=1 SF^OF=0 || ZF=1
  A<=B CF=1 || ZF=1 SF^OF=1 || ZF=1
  MUL ( unsigned MULtiple ) 無符號數(shù)乘法指令
  MUL SRC //Byte/Word .
  執(zhí)行操作:Byte => AX= AL *src //字節(jié)運算時目的操作數(shù)用AL, 乘積放在AX中
  Word => DX=AX *src //字運算時目的操作數(shù)用AX, DX存放乘積的高位字, AX放乘積的低位字
  1.目的數(shù)必須是累加器 AX 或AL,指令中不需寫出
  2. 源操作數(shù)SRC可以是通用寄存器和各種尋址方式的存儲器操作數(shù), 而絕對不允許是立即數(shù)或段寄存器.
  IMUL (sIgned MULtiple) 有符號數(shù)乘法指令
  IMUL SRC //與MUL指令相同,但必須是帶符號數(shù)
  DIV ( unsigned DIVide) 無符號數(shù)除法指令
  DIV SRC //Byte/Word 其中: SRC的規(guī)定同乘法指令MUL
  執(zhí)行操作:Byte => AX / src //字節(jié)運算時目的操作數(shù)在AX中,結果的商在AL中 ,余數(shù)中AH中
  Word=> DX,AX /src //字運算時目的操作數(shù)在DX高位字和AX低位字中,結果的商在AX中 ,余數(shù)在DX中
  存儲器操作數(shù)必須指明數(shù)據(jù)類型:BYTE PTR src 或 WORD PTR src
  IDIV (sIgned DIVied) 有符號數(shù)除法指令
  IDIV SRC //Byte/Word 與DIV指令相同,但必須是帶符號數(shù)
  CBW (Convert Byte to Word) 字節(jié)轉(zhuǎn)換為字指令
  CBW
  執(zhí)行操作: AL中的符號位(D7)擴展到8位AH中,若AL中的D7=0,則AH=00H,若AL中的D7=1,則AH=FFH.
  CWD (Convert Word to Double word) 字轉(zhuǎn)換為雙字指令
  CWD
  執(zhí)行操作: AX中的符號位(D15)擴展到16位DX中,若AX中的D15=0,則DX=0000H,若AX中的D15=1,則DX=FFFFH
  十進制調(diào)整指令
  當計算機進行計算時,必須先把十進制數(shù)轉(zhuǎn)換為二進制數(shù),再進行二進制數(shù)運算,最后將結果又轉(zhuǎn)換為十進制數(shù)輸出.
  在計算機中,可用4位二進制數(shù)表示一位十進制數(shù),這種代碼稱為BCD ( Binary Coded Decimal ).
  BCD碼又稱8421碼,在PC機中,BCD碼可用壓縮的BCD碼和非壓縮的BCD碼兩種格式表示.
  壓縮的BCD碼用4位二進制數(shù)表示一個十制數(shù),整個十進數(shù)形式為一個順序的以4位為一組的數(shù)串.
  非壓縮的BCD碼以8位為一組表示一個十進制數(shù),8位中的低4位表示8421的BCD碼,而高4位則沒有意義.
  壓縮的BCD碼調(diào)整指令
  DAA (Decimal Adjust for Addition) 加法的十進制調(diào)整指令
  DAA
  執(zhí)行操作:執(zhí)行之前必須先執(zhí)行ADD或ADC指令,加法指令必須把兩個壓縮的BCD碼相加,并把結果存話在AL寄存器中.
  DAS (Decimal Adjust for Subtraction) 減法的十進制調(diào)整指令
  DAS
  執(zhí)行操作:執(zhí)行之前必須先執(zhí)行SUB或SBB指令,減法指令必須把兩個壓縮的BCD碼相減,并氫結果存放在AL寄存器中.
  非壓縮的BCD碼調(diào)整指令
  AAA (ASCII Adjust for Addition) 加法的ASCII調(diào)整指令
  AAA
  執(zhí)行操作:執(zhí)行之前必須先執(zhí)行ADD或ADC指令,加法指令必須把兩個非壓縮的BCD碼相加,并把結果存話在AL寄存器中.
  AAS (ASCII Adjust for Subtraction) 減法的ASCII調(diào)整指令
  AAS
  執(zhí)行操作:執(zhí)行之前必須先執(zhí)行SUB或SBB指令,減法指令必須把兩個非壓縮的BCD碼相減,并氫結果存放在AL寄存器中.
  MOVS ( MOVe String) 串傳送指令
  MOVB //字節(jié)串傳送 DF=0, SI = SI + 1 , DI = DI + 1 ;DF = 1 , SI = SI - 1 , DI = DI - 1
  MOVW //字串傳送 DF=0, SI = SI + 2 , DI = DI + 2 ;DF = 1 , SI = SI - 2 , DI = DI - 2
  執(zhí)行操作:[DI] = [SI] ,將位于DS段的由SI所指出的存儲單元的字節(jié)或字傳送到位于ES段的由DI 所指出的存儲單元,再修改SI和DI, 從而指向下一個元素.
  在執(zhí)行該指令之前,必須預置SI和DI的初值,用STD或CLD設置DF值.
  MOVS DST , SRC //同上,不常用,DST和SRC只是用來用類型檢查,并不允許使用其它尋址方式來確定操作數(shù).
  1.目的串必須在附加段中,即必須是ES:[DI]
  2.源串允許使用段跨越前綴來修飾,但偏移地址必須是[SI].
  STOS (STOre into String) 存入串指令
  STOS DST
  STOSB //存放字節(jié)串 ( DI ) = AL
  STOSW //存放字串 ( DI ) = AX
  執(zhí)行品作:把AL或AX中的內(nèi)容存放由DI指定的附加段的字節(jié)或字單元中,并根據(jù)DF值修改及數(shù)據(jù)類型修改DI的內(nèi)容.
  1.在執(zhí)行該指令之前,必須把要存入的數(shù)據(jù)預先存入AX或AL中,必須預置DI的初值.
  2.DI所指向的存儲單元只能在附加段中,即必須是ES:[DI]
  LODS ( LOaD from String ) 從串取指令
  LODS SRC
  LODSB //從字節(jié)串取 AL=(SI)
  LODSW //從字串取 AX= (SI±1) (SI)
  執(zhí)行操作:把由SI指定的數(shù)據(jù)段中字節(jié)或字單元的內(nèi)容送入AL或AX中,并根據(jù)DF值及數(shù)據(jù)類型修改SI的內(nèi)容.
  1.在執(zhí)行該指令之前,要取的數(shù)據(jù)必須在存儲器中預先定義(用DB或DW),必須預置SI的初值.
  2.源串允許使用段超越前綴來改變數(shù)據(jù)存儲的段區(qū).
  REP (REPeat)重復操作前綴
  REP String Primitive //其中:String Primitive可為MOVS,STOS或LODS指令
  執(zhí)行操作:使REP前綴后的串指令重復執(zhí)行,每執(zhí)行一次CX=CX-1,直至CX=0時退出REP.
  方向標志設置
  CLD (CLear Direction flag) 清除方向標志指令
  CLD
  執(zhí)行操作:令DF=0, 其后[SI],[DI]執(zhí)行增量操作
  STD (SeT Direction flag) 設置方向標志指令
  STD
  執(zhí)行操作:令DF=1, 其后[SI],[DI]執(zhí)行減量操作
  CMPS (CoMPare String) 串比較指令
  CMPS SRC , DST
  CMPSB //字節(jié)串比較 (SI)-(DI)
  CMPSW //字串比較 (SI+1)(SI) - (DI+1)(DI)
  執(zhí)行操作:把由SI指向的數(shù)據(jù)段中的一個字節(jié)或字與由DI指向的附加段中的一個字節(jié)或字相減,不保留結果,只根據(jù)結果置標志位.
  SCAS (SCAn String ) 串掃描指令
  SCAS DST
  SCASB
  SCASW
  執(zhí)行操作:把AX或AL的內(nèi)容與由DI指向的在附加段中的一個字節(jié)或字相減,不保留結果,根據(jù)結果置標志位.
  AND, OR , XOR 和 TEST都是雙字節(jié)操作指令,操作數(shù)的尋址方式的規(guī)定與算術運算指令相同.
  NOT是單字節(jié)操作指令,不允許使用立即數(shù).
  邏輯運算均是按位進行操作,真值表如下:
  AND (位與&) OR ( 位或| ) XOR ( 位異或^ )
  1 & 1 = 1 1 | 1 = 1 1 ^ 1 = 0
  1 & 0 = 0 1 | 0 = 1 1 ^ 0 = 1
  0 & 1 = 0 0 | 1 = 1 0 ^ 1 = 1
  0 & 0 = 0 0 | 0 = 0 0 ^ 0 = 0
  A:邏輯運算指令
  AND (and) 邏輯與指令
  AND DST , SRC //Byte/Word
  執(zhí)行操作:dst = dst & src
  1.AND指令執(zhí)行后,將使CF=0,OF=0,AF位無定義,指令執(zhí)行結果影響SF,ZF和PF標志位.
  2.AND指令典型用法A:用于屏蔽某些位,即使某些位為0.
  屏蔽AL的高4位:即將高4位和0000B相與,低4位和1111B相與
  MOV AL , 39H //AL= 0011 1001B[39H]
  ADD AL , 0FH // AL= 0000 1001B[09H] 即0011 1001B[39H] & 0000 1111B[0FH] = 0000 1001B[09H]
  3.AND指令典型用法B:取出某一位的值(見TEST)
  OR (or) 邏輯或指令
  OR DST , SRC //Byte/Word
  執(zhí)行操作:dst = dst | src
  1.OR指令執(zhí)行后,將使CF=0, OF=0, AF位無定義,指令執(zhí)行結果影響SF, ZF和PF標志位.
  2.常用于將某些位置1.
  將AL的第5位置1:
  MOV AL , 4AH // AL=0100 1010B[4AH]
  OR AL , 10H // AL=0101 1010B[5AH] 即0100 1010B[4AH] | 0001 0000B[10H] =0101 1010B [5AH]
  XOR (eXclusive OR) 邏輯異或指令
  XOR DST , SRC //Byte/Word
  執(zhí)行操作:dst = dst ^ src
  1.XOR指令常用于使某個操作數(shù)清零,同時使CF=0,清除進位標志.
  2.XOR指令使某些位維持不變則與 '0' 相異或,若要使某些位取反則與 '1'相異或.
  將AL的高4位維持不變,低4位取反:
  MOV AL, B8H //AL=1011 1000B[B8H]
  XOR AL, 0FH //AL=1011 0111B[B7H] 即1011 1000B[B8H] ^ 0000 1111[0FH]=1011 0111B[B7H]
  測試某一個操作數(shù)是否與另一確定操作數(shù)相等:
  XOR AX , 042EH
  JZ .... //如果AX==042EH, 則ZF=TRUE(1), 執(zhí)行JZ...
  NOT (not) 邏輯非指令
  NOT OPR //Byte/Word
  執(zhí)行操作:opr = ~opr // ~ 01100101 [65H] =10011010 [9AH]
  1.操作數(shù)不能使用立即數(shù)或段寄存器操作數(shù),可使用通用寄存器和各種方式尋址的存儲器操作數(shù).
  2.NOT指令不影響任何標志位。
  將AL各位取反:
  MOV AL,65H //AL=0110 0101B[65H]
  NOT AL //AL=1001 1010B[9AH] 即 ~ 0110 0101B[65H]=1001 1010B[9AH]
  TEST (test) 指令
  TEST OPR1 , OPR2 //Byte/Word
  執(zhí)行操作:opr1 & opr2
  1.兩個操作數(shù)相與的結果不保存,結果影響標志位PF,SF和ZF,使CF=0, OF=0,而AF位無定義.
  2.TEST指令常用于在不改變原有的操作數(shù)的情況下,檢測某一位或某幾位的條件是否滿足.只要令用來測試的操作數(shù)對應檢測位為1,其余位為0,相與后判斷零標志ZF值的真假.
  檢測某位是否為1:
  令用來測試的操作數(shù)對應檢測位為1,其余位為0,TEST指令后,若該位為1則 JNZ...
  TEST AL , 0000 00001B //測試AL最低位是否為1:: 令用來測試的操作數(shù)對應檢測位為1,其余位為0,執(zhí)行TEST指令
  JNZ THER //最低位若為1, 則ZF=FALSE(0), 執(zhí)行JNZ THER, 否則執(zhí)行下一條指令.
  或者:先對操作數(shù)求反,令用來測試的操作數(shù)對應檢測位為1,其余位為0,TEST指令后,若該位為1則JZ...
  MOV DL , AL //將AL 傳送到DL,主要是不要影響AL的值. 以下測試AL的b2位是否為1
  NOT DL //先對操作數(shù)求反
  TEST 0000 0100B //令用來測試的操作數(shù)對應檢測位為1,其余位為0,執(zhí)行TEST指令
  JZ THER //若AL的b2位為1,則ZF=TRUE(1), 執(zhí)行JZ THER
  B:移位指令[所有的移位指令都影響標志位CF、OF、PF、SF和ZF.AF無定義.]
  非循環(huán)邏輯移位:把操作數(shù)看成無符數(shù)來進行移位.
  SHL ( SHift logical Left )邏輯左移指令
  SHL OPR , CNT //Byte/Word
  執(zhí)行操作:使OPR左移CNT位,并使最低CNT位為全0.
  1.OPR操作數(shù)不能使用立即數(shù)或段寄存器操作數(shù),可使用通用寄存器和各種方式尋址的存儲器操作數(shù).
  2.移位次數(shù)由CNT決定.每次將OPR的最高位移出并移到CF,最低位補0.
  MOV CL , 7 //若移位多次, 先預置移位次數(shù)CL
  SHL DX , CL //CNT可取1或CL寄存器操作數(shù)
  SHR (SHift logical Right) 邏輯右移指令
  SHR OPR , CNT //Byte/Word
  同SHL,每次將OPR的最低位D0移出并移到CF.最高位補0.
  非循環(huán)算術移位:將操作數(shù)看成有符號數(shù)來進行移位.
  SAL (Shift Arithmetic Left) 算術左移指令
  SAL OPR , CNT //Byte/Word
  SAL指令與SHL指令完全相同
  SAR(Shift Arithmetic Right) 算術右移指令
  SAR OPR , CNT //Byte/Word
  SAR指令每次移位時,將最高位移入次高位的同時最高位值不變,最低位D0移出并移到CF.
  循環(huán)移位指令
  ROL ( ROtate Left) 循環(huán)左移指令
  ROL OPR , CNT //Byte/Word
  每次移位時,最高位移出并同時移到CF和最低位D0.
  ROR (ROtate Right)循環(huán)右移指令
  ROR OPR,CNT //Byte/Word
  每次移位時,最低位D0移出并同時移到CF和最高位.
  帶進位循環(huán)移位指令
  RCL (Rotate Left through Carry)帶進位循環(huán)左移指令
  RCL OPR,CNT //Byte/Word
  RCR (Rotate Right through Carry)帶進位循環(huán)右移指令
  RCR OPR ,CNT //Byte/Word
  處理器控制指令
  CLC (CLear Carry) 進位位置0指令
  CLC //執(zhí)行操作后,CF=0
  CMC (CoMplement Carry) 進位位求反指令
  CMC //執(zhí)行操作后,CF=!CF
  STC (SeT Carry) 進位位置1指令
  STC //執(zhí)行操作后,CF=1
  NOP (No Operetion) 無操作指令
  NOP //此指令不執(zhí)行任何操作,其機器碼占一個字節(jié)單元
  HLT (HaLT) 停機指令
  HLT
  執(zhí)行操作后,使機器暫停工作,使處理器CPU處于停機狀態(tài),以等待一次外部中斷到來,中斷結束后,程序繼續(xù)執(zhí)行,CPU繼續(xù)工作.
  JMP ( JuMP ) 無條件轉(zhuǎn)移指令
  名稱 格式 執(zhí)行操作
  段內(nèi)直接短跳轉(zhuǎn) JMP SHORT OPR IP=IP+8 位偏移量
  段內(nèi)直接近轉(zhuǎn)移 JMP NEAR PTR OPR IP=IP+16位偏移量
  段內(nèi)間接轉(zhuǎn)移 JMP WORD PTR OPR IP=(EA)
  段間直接轉(zhuǎn)移 JMP FAR PTR OPR IP=OPR 偏移地址, CS=OPR 段地址
  段間間接轉(zhuǎn)移 JMP DWORD PTR OPR IP=(EA),CS=(EA+2)
  1.無條件轉(zhuǎn)移到指定的地址去執(zhí)行從該地址開始的指令.
  2.段內(nèi)轉(zhuǎn)移是指在同一代碼段的范圍內(nèi)進行轉(zhuǎn)移,只需改變IP寄存器內(nèi)容.
  3.段間轉(zhuǎn)移則要轉(zhuǎn)移到另一個代碼段執(zhí)行程序,此時要改變IP寄存器和CS段寄存器的內(nèi)容.
  條件轉(zhuǎn)移指令:根據(jù)上一條指令所設置的條件碼(標志位)來判斷測試條件.
  根據(jù)五個標志位:ZF、SF、OF、 PF、 CF的兩種狀態(tài)(0 FALSE或1 TRUE)產(chǎn)生10種測試條件.
  Name Flag Flag == TRUE [1] Flag ==FALSE [ 0]
  Zero Falg ZF JE/JZ OPR //結果為零轉(zhuǎn)移 JNE/JNZ OPR //結果不為零轉(zhuǎn)移
  Sign Falg SF JS OPR //結果為負轉(zhuǎn)移 JNS OPR //結果為正轉(zhuǎn)移
  Overflow Flag OF JO OPR //溢出轉(zhuǎn)移 JNO OPR //不溢出轉(zhuǎn)移
  Parity Flag PF JP/JPE OPR //結果為偶轉(zhuǎn)移 JNP/JPO OPR //結果為奇轉(zhuǎn)移
  Carry Flag CF JC OPR //有進位轉(zhuǎn)移 JNC OPR //無進位轉(zhuǎn)移
  兩個數(shù)比較:
  情況 指令 滿足條件 指令 滿足條件
  A < B JC CF==1 JL SF^OF==1 && ZF==0
  A ≥ B JNC CF==0 JNL SF^OF==0 || ZF==1
  A ≤ B JNA CF==1 || ZF==1 JLG SF^OF==1 || ZF==1
  A > B JA CF==0 && ZF==0 JG SF^OF==0 && ZF==0
  測試CX轉(zhuǎn)移指令
  JCXZ OPR //CX==0時轉(zhuǎn)移
  LOOP(LOOP)循環(huán)指令
  LOOP OPR 測試條件:CX ≠ 0 //OPR在程序中實際是個標號
  LOOPZ OPR 測試條件:ZF == 1 && CX ≠ 0
  LOOPNZ OPR 測試條件:ZF == 0 && CX ≠ 0
  執(zhí)行操作: 先執(zhí)行CX=CX-1,再檢測上面的測試條件,如滿足則IP=IP+符號擴展的D8,不滿足則退出循環(huán).
  過程調(diào)用及返回指令
  CALL (CALL) 過程調(diào)用指令
  CALL DST //DST在程序中實際是子程序標號
  執(zhí)行操作:先將過程的返回地址(即CALL的下一條指令的首地址)存入堆棧,然后轉(zhuǎn)移到過程入口地址執(zhí)行子程序.
  調(diào)用方式 格式 斷點保護入棧情況 過程入口地址
  段內(nèi)直接 CALL NEAR PTR PR1 (SP-1)(SP-2)←IP , CS不進棧 CS值保持不變,IP←DST
  段內(nèi)間接 CALL WORD PTR (EA) (SP-1)(SP-2)←IP , CS不進棧 CS值保持不變,IP←(EA)
  段間直接 CALL FAR PTR PR1 (SP-1)(SP-2)←CS , (SP-3)(SP-4)←IP IP←DST偏移地址,CS←DST段地址
  段間間接 CALL DWORD PTR (EA) (SP-1)(SP-2)←CS , (SP-3)(SP-4)←IP IP←(EA),CS←(EA+2)
  注:為了表明是段內(nèi)調(diào)用,可使用NEAR PTR屬性操作符作說明.
  RET(RETurn)子程序返回指令
  RET
  RET EXP //帶立即數(shù)返回
  子程序返回指令RET放在子程序末尾,它使子程序在執(zhí)行完全部任務后返回主程序繼續(xù)執(zhí)行被打斷后的程序.返回地址在子程序調(diào)用時入棧保存的斷點地址-IP或IP和CS.

?
關于詞語:匯編

  匯編也可以是一個種類的集合,如英語語法匯編,XX科目匯編……等等`
  詳細點的指令用法
  一、數(shù)據(jù)傳送指令
  1.通用數(shù)據(jù)傳送指令
  MOV(Move)傳送
  PUSH(Push onto the stack)進棧
  POP(Pop from the stack)出棧
  XCHG(Exchange)交換
  .MOV指令
  格式為: MOV DST,SRC
  執(zhí)行的操作:(DST)<-(SRC)
  .PUSH進棧指令
  格式為:PUSH SRC
  執(zhí)行的操作:(SP)<-(SP)-2
  ((SP)+1,(SP))<-(SRC)
  .POP出棧指令
  格式為:POP DST
  執(zhí)行的操作:(DST)<-((SP+1),(SP))
  (SP)<-(SP)+2
  .XCHG 交換指令
  格式為:XCHG OPR1,OPR2
  執(zhí)行的操作:(OPR1)<-->(OPR2)
  2.累加器專用傳送指令
  IN(Input) 輸入
  OUT(Output) 輸出
  XLAT(Translate) 換碼
  這組指令只限于使用累加器AX或AL傳送信息.
  .IN 輸入指令
  長格式為: IN AL,PORT(字節(jié))
  IN AX,PORT(字)
  執(zhí)行的操作: (AL)<-(PORT)(字節(jié))
  (AX)<-(PORT+1,PORT)(字)
  短格式為: IN AL,DX(字節(jié))
  IN AX,DX(字)
  執(zhí)行的操作: AL<-((DX))(字節(jié))
  AX<-((DX)+1,DX)(字)
  .OUT 輸出指令
  長格式為: OUT PORT,AL(字節(jié))
  OUT PORT,AX(字)
  執(zhí)行的操作: (PORT)<-(AL)(字節(jié))
  (PORT+1,PORT)<-(AX)(字)
  短格式為: OUT DX,AL(字節(jié))
  OUT DX,AX(字)
  執(zhí)行的操作: ((DX))<-(AL)(字節(jié))
  ((DX)+1,(DX))<-AX(字)
  在IBM-PC機里,外部設備最多可有65536個I/O端口,端口(即外設的端口地址)為0000~FFFFH.其中前256個端口(0~FFH)可以直接在指令中指定,這就是長格式中的PORT,此時機器指令用二個字節(jié)表示,第二個字節(jié)就是端口號.所以用長格式時可以在指定中直接指定端口號,但只限于前256個端口.當端口號>=256時,只能使用短格式,此時,必須先把端口號放到DX寄存器中(端口號可以從0000到0FFFFH),然后再用IN或OUT指令來 傳送信息.
  .XLAT 換碼指令
  格式為: XLAT OPR
  或: XLAT
  執(zhí)行的操作:(AL)<-((BX)+(AL))
  3.有效地址送寄存器指令
  LEA(Load effective address)有效地址送寄存器
  LDS(Load DS with Pointer)指針送寄存器和DS
  LES(Load ES with Pointer)指針送寄存器和ES
  .LEA 有效地址送寄存器
  格式為: LEA REG,SRC
  執(zhí)行的操作:(REG)<-SRC
  指令把源操作數(shù)的有效地址送到指定的寄存器中.
  .LDS 指針送寄存器和DS指令
  格式為: LDS REG,SRC
  執(zhí)行的操作:(REG)<-(SRC)
  (DS)<-(SRC+2)
  把源操作數(shù)指定的4個相繼字節(jié)送到由指令指定的寄存器及DS寄存器中.該指令常指定SI寄存器.
  .LES 指針送寄存器和ES指令
  格式為: LES REG,SRC
  執(zhí)行的操作: (REG)<-(SRC)
  (ES)<-(SRC+2)
  把源操作數(shù)指定的4個相繼字節(jié)送到由指令指定的寄存器及ES寄存器中.該指令常指定DI寄存器.
  4.標志寄存器傳送指令
  LAHF(Load AH with flags)標志送AH
  SAHF(store AH into flags)AH送標志寄存器
  PUSHF(push the flags) 標志進棧
  POPF(pop the flags) 標志出棧
  .LAHF 標志送AH
  格式為: LAHF
  執(zhí)行的操作:(AH)<-(PWS的低字節(jié))
  .SAHF AH送標志寄存器
  格式為: SAHF
  執(zhí)行的操作:(PWS的低字節(jié))<-(AH)
  .PUSHF 標志進棧
  格式為: PUSHF
  執(zhí)行的操作:(SP)<-(SP)-2
  ((SP)+1,(SP))<-(PSW)
  .POPF 標志出棧
  格式為: POPF
  執(zhí)行的操作:(PWS)<-((SP)+1,(SP))
  (SP)<-(SP+2)
  二、算術指令
  1.加法指令
  ADD(add)加法
  ADC(add with carry)帶進位加法
  INC(increment)加1
  .ADD 加法指令
  格式: ADD DST,SRC
  執(zhí)行的操作:(DST)<-(SRC)+(DST)
  .ADC 帶進位加法指令
  格式: ADC DST,SRC
  執(zhí)行的操作:(DST)<-(SRC)+(DST)+CF
  .ADD 加1指令
  格式: INC OPR
  執(zhí)行的操作:(OPR)<-(OPR)+1
  2.減法指令
  SUB(subtract)減法
  SBB(subtract with borrow)帶借位減法
  DEC(Decrement)減1
  NEG(Negate)求補
  CMP(Compare)比較
  .SUB 減法指令
  格式: SUB DST,SRC
  執(zhí)行的操作:(DST)<-(DST)-(SRC)
  .SBB 帶借位減法指令
  格式: SBB DST,SRC
  執(zhí)行的操作:(DST)<-(DST)-(SRC)-CF
  .DEC 減1指令
  格式: DEC OPR
  執(zhí)行的操作:(OPR)<-(OPR)-1
  .NEG 求補指令
  格式: NEG OPR
  執(zhí)行的操作:(OPR)<- -(OPR)
  .CMP 比較指令
  格式: CMP OPR1,OPR2
  執(zhí)行的操作:(OPR1)-(OPR2)
  該指令與SUB指令一樣執(zhí)行減法操作,但不保存結果,只是根據(jù)結果設置條件標志西半球.
  3.乘法指令
  MUL(Unsigned Multiple)無符號數(shù)乘法
  IMUL(Signed Multiple)帶符號數(shù)乘法
  .MUL 無符號數(shù)乘法指令
  格式: MUL SRC
  執(zhí)行的操作:
  字節(jié)操作數(shù):(AX)<-(AL)*(SRC)
  字操作數(shù):(DX,AX)<-(AX)*(SRC)
  .IMUL 帶符號數(shù)乘法指令
  格式: IMUL SRC
  執(zhí)行的操作:與MUL相同,但必須是帶符號數(shù),而MUL是無符號數(shù).
  4.除法指令
  DIV(Unsigned divide)無符號數(shù)除法
  IDIV(Signed divide)帶符號數(shù)除法
  CBW(Convert byte to word)字節(jié)轉(zhuǎn)換為字
  CWD(Contert word to double word)字轉(zhuǎn)換為雙字
  .DIV 無符號數(shù)除法指令
  格式: DIV SRC
  執(zhí)行的操作:
  字節(jié)操作:(AL)<-(AX)/(SRC)的商
  (AH)<-(AX)/(SRC)的余數(shù)
  字操作: (AX)<-(DX,AX)/(SRC)的商
  (AX)<-(DX,AX)/(SRC)的余數(shù)
  .IDIV 帶符號數(shù)除法指令
  格式: DIV SRC
  執(zhí)行的操作:與DIV相同,但操作數(shù)必須是帶符號數(shù),商和余數(shù)也均為帶符號數(shù),且余數(shù)的符號與被除數(shù)的符號相同.
  .CBW 字節(jié)轉(zhuǎn)換為字指令
  格式: CBW
  執(zhí)行的操作:AL的內(nèi)容符號擴展到AH.即如果(AL)的最高有效位為0,則(AH)=00;如(AL)的最高有效位為1,則(AH)=0FFH
  .CWD 字轉(zhuǎn)換為雙字指令
  格式: CWD
  執(zhí)行的操作:AX的內(nèi)容符號擴展到DX.即如(AX)的最高有效位為0,則(DX)=0;否則(DX)=0FFFFH.
  這兩條指令都不影響條件碼.
  三、邏輯指令
  1.邏輯運算指令
  AND(and) 邏輯與
  OR(or) 邏輯或
  NOT(not) 邏輯非
  XOR(exclusive or)異或
  TEST(test) 測試
  .AND 邏輯與指令
  格式: AND DST,SRC
  執(zhí)行的操作:(DST)<-(DST)^(SRC)
  .OR 邏輯或指令
  格式: OR DST,SRC
  執(zhí)行的操作:(DST)<-(DST)V(SRC)
  .NOT 邏輯非指令
  格式: NOT OPR
  執(zhí)行的操作:(OPR)<-(OPR)
  .XOR 異或指令
  格式: XOR DST,SRC
  執(zhí)行的操作:(DST)<-(DST)V(SRC)
  .TEST 測試指令
  格式: TEST OPR1,OPR2
  執(zhí)行的操作:(DST)^(SRC)
  兩個操作數(shù)相與的結果不保存,只根據(jù)其特征置條件碼
  2.移位指令
  SHL(shift logical left) 邏輯左移
  SAL(shift arithmetic left) 算術左移
  SHR(shift logical right) 邏輯右移
  SAR(shift arithmetic right) 算術右移
  ROL(Rotate left) 循環(huán)左移
  ROR(Rotate right) 循環(huán)右移
  RCL(Rotate left through carry) 帶進位循環(huán)左移
  RCR(Rotate right through carry) 帶進位循環(huán)右移
  格式: SHL OPR,CNT(其余的類似)
  其中OPR可以是除立即數(shù)以外的任何尋址方式.移位次數(shù)由CNT決定,CNT可以是1或CL.
  循環(huán)移位指令可以改變操作數(shù)中所有位的位置;移位指令則常常用來做乘以2除以2操作.其中算術移位指令適用于帶符號數(shù)運算,SAL用來乘2,SAR用來除以2;而邏輯移位指令則用來無符號數(shù)運算,SHL用來乘2,SHR用來除以2.
  四、串處理指令
  1.與REP相配合工作的MOVS,STOS和LODS指令
  .REP重復串操作直到(CX)=0為上
  格式: REP string primitive
  其中String Primitive可為MOVS,LODS或STOS指令
  執(zhí)行的操作:
  1)如(CX)=0則退出REP,否則往下執(zhí)行.
  2)(CX)<-(CX)-1
  3)執(zhí)行其中的串操作
  4)重復1)~3)
  .MOVS 串傳送指令
  格式:可有三種
  MOVS DST,SRC
  MOVSB(字節(jié))
  MOVSW(字)
  其中第二、三種格式明確地注明是傳送字節(jié)或字,第一種格式則應在操作數(shù)中表明是字還是字節(jié)操作,例如:
  MOVS ES:BYTE PTR[DI],DS:[SI]
  執(zhí)行的操作:
  1)((DI))<-((SI))
  2)字節(jié)操作:
  (SI)<-(SI)+(或-)1,(DI)<-(DI)+(或-)1
  當方向標志DF=0時用+,當方向標志DF=1時用-
  3)字操作:
  (SI)<-(SI)+(或-)2,(DI)<-(DI)+(或-)2
  當方向標志DF=0時用+,當方向標志DF=1時用-
  該指令不影響條件碼.
  .CLD(Clear direction flag)該指令使DF=0,在執(zhí)行串操作指令時可使地址自動增量;
  .STD(Set direction flag)該指令使DF=1,在執(zhí)行串操作指令時可使地址自動減量.
  .STOS 存入串指令
  格式: STOS DST
  STOSB(字節(jié))
  STOSW(字)
  執(zhí)行的操作:
  字節(jié)操作:((DI))<-(AL),(DI)<-(DI)+-1
  字操作: ((DI))<-(AX),(DI)<-(DI)+-2
  該指令把AL或AX的內(nèi)容存入由(DI)指定的附加段的某單元中,并根據(jù)DF的值及數(shù)據(jù)類型修改DI的內(nèi)容,當它與REP聯(lián)用時,可把AL或AX的內(nèi)容存入一個長度為(CX)的緩沖區(qū)中.
  .LODS 從串取指令
  格式: LODS SRC
  LODSB
  LODSW
  執(zhí)行的操作:
  字節(jié)操作:(AL)<-((SI)),(SI)<-(SI)+-1
  字操作: (AX)<-((SI)),(SI)<-(SI)+-2
  該指令把由(SI)指定的數(shù)據(jù)段中某單元的內(nèi)容送到AL或AX中,并根據(jù)方向標志及數(shù)據(jù)類型修改SI的內(nèi)容.指令允許使用段跨越前綴來指定非數(shù)據(jù)段的存儲區(qū).該指令也不影響條件碼.
  一般說來,該指令不和REP聯(lián)用.有時緩沖區(qū)中的一串字符需要逐次取出來測試時,可使用本指令.
  2.與REPE/REPZ和REPNZ/REPNE聯(lián)合工作的CMPS和SCAS指令
  .REPE/REPZ 當相等/為零時重復串操作
  格式: REPE(或REPZ) String Primitive
  其中String Primitive可為CMPS或SCAS指令.
  執(zhí)行的操作:
  1)如(CX)=0或ZF=0(即某次比較的結果兩個操作數(shù)不等)時退出,否則往下執(zhí)行
  2)(CX)<-(CX)-1
  3)執(zhí)行其后的串指令
  4)重復1)~3)
  .REPNE/REPNZ 當不相等/不為零時重復串操作
  格式: REPNE(或REPNZ) String Primitive
  其中String Primitive可為CMPS或SCAS指令
  執(zhí)行的操作:
  除退出條件(CX=0)或ZF=1外,其他操作與REPE完全相同.
  .CMPS 串比較指令
  格式: CMP SRC,DST
  CMPSB
  CMPSW
  執(zhí)行的操作:
  1)((SI))-((DI))
  2)字節(jié)操作:(SI)<-(SI)+-1,(DI)<-(DI)+-1
  字操作: (SI)<-(SI)+-2,(DI)<-(DI)+-2
  指令把由(SI)指向的數(shù)據(jù)段中的一個字(或字節(jié))與由(DI)指向的附加段中的一個字(或字節(jié))相減,但不保存結果,只根據(jù)結果設置條件碼,指令的其它特性和MOVS指令的規(guī)定相同.
  .SCAS 串掃描指令
  格式: SCAS DST
  SCASB
  SCASW
  執(zhí)行的操作:
  字節(jié)操作:(AL)-((DI)),(DI)<-(DI)+-1
  字操作: (AL)-((DI)),(DI)<-(DI)+-2
  該指令把AL(或AX)的內(nèi)容與由(DI)指定的在附加段中的一個字節(jié)(或字)進行比較,并不保存結果,只根據(jù)結果置條件碼.指令的其他特性和MOVS的規(guī)定相同.
  五、控制轉(zhuǎn)移指令
  1.無條件轉(zhuǎn)移指令
  .JMP(jmp) 跳轉(zhuǎn)指令
  1)段內(nèi)直接短轉(zhuǎn)移
  格式:JMP SHORT OPR
  執(zhí)行的操作:(IP)<-(IP)+8位位移量
  2)段內(nèi)直接近轉(zhuǎn)移
  格式:JMP NEAR PTR OPR
  執(zhí)行的操作:(IP)<-(IP)+16位位移量
  3)段內(nèi)間接轉(zhuǎn)移
  格式:JMP WORD PTR OPR
  執(zhí)行的操作:(IP)<-(EA)
  4)段間直接(遠)轉(zhuǎn)移
  格式:JMP FAR PTR OPR
  執(zhí)行的操作:(IP)<-OPR的段內(nèi)偏移地址
  (CS)<-OPR所在段的段地址
  5)段間間接轉(zhuǎn)移
  格式:JMP DWORD PTR OPR
  執(zhí)行的操作:(IP)<-(EA)
  (CS)<-(EA+2)
  2.條件轉(zhuǎn)移指令
  1)根據(jù)單個條件標志的設置情況轉(zhuǎn)移
  .JZ(或JE)(Jump if zero,or equal) 結果為零(或相等)則轉(zhuǎn)移
  格式:JE(或JZ) OPR
  測試條件:ZF=1
  .JNZ(或JNE)(Jump if not zero,or not equal) 結果不為零(或不相等)則轉(zhuǎn)移
  格式:JNZ(或JNE) OPR
  測試條件:ZF=0
  .JS(Jump if sign) 結果為負則轉(zhuǎn)移
  格式: JS OPR
  測試條件:SF=1
  .JNS(Jump if not sign) 結果為正則轉(zhuǎn)移
  格式:JNS OPR
  測試條件:SF=0
  .JO(Jump if overflow) 溢出則轉(zhuǎn)移
  格式: JO OPR
  測試條件:OF=1
  .JNO(Jump if not overflow) 不溢出則轉(zhuǎn)移
  格式: JNO OPR
  測試條件:OF=0
  .JP(或JPE)(Jump if parity,or parity even) 奇偶位為1則轉(zhuǎn)移
  格式: JP OPR
  測試條件:PF=1
  .JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位為0則轉(zhuǎn)移
  格式: JNP(或JPO) OPR
  測試條件:PF=0
  .JB(或JNAE,JC)(Jump if below,or not above or equal,or carry) 低于,或者不高于或等于,或進位位為1則轉(zhuǎn)移
  格式:JB(或JNAE,JC) OPR
  測試條件:CF=1
  .JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry) 不低于,或者高于或者等于,或進位位為0則轉(zhuǎn)移
  格式:JNB(或JAE,JNC) OPR
  測試條件:CF=0
  2)比較兩個無符號數(shù),并根據(jù)比較的結果轉(zhuǎn)移
  .JB(或JNAE,JC)
  格式:同上
  .JNB(或JAE,JNC)
  格式:同上
  .JBE(或JNA)(Jump if below or equal,or not above) 低于或等于,或不高于則轉(zhuǎn)移
  格式:JBE(或JNA) OPR
  測試條件:CFVZF=1
  .JNBE(或JA)(Jump if not below or equal,or above) 不低于或等于,或者高于則轉(zhuǎn)移
  格式:JNBE(或JA) OPR
  測試條件:CFVZF=0
  3)比較兩個帶符號數(shù),并根據(jù)比較的結果轉(zhuǎn)移
  .JL(或LNGE)(Jump if less,or not greater or equal) 小于,或者不大于或者等于則轉(zhuǎn)移
  格式:JL(或JNGE) OPR
  測試條件:SFVOF=1
  .JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于則轉(zhuǎn)移
  格式:JNL(或JGE) OPR
  測試條件:SFVOF=0
  .JLE(或JNG)(Jump if less or equal,or not greater) 小于或等于,或者不大于則轉(zhuǎn)移
  格式:JLE(或JNG) OPR
  測試條件:(SFVOF)VZF=1
  .JNLE(或JG)(Jump if not less or equal,or greater) 不小于或等于,或者大于則轉(zhuǎn)移
  格式:JNLE(或JG) OPR
  測試條件:(SFVOF)VZF=0
  4)測試CX的值為0則轉(zhuǎn)移指令
  .JCXZ(Jump if CX register is zero) CX寄存器的內(nèi)容為零則轉(zhuǎn)移
  格式:JCXZ OPR
  測試條件:(CX)=0
  注:條件轉(zhuǎn)移全為8位短跳!
  3.循環(huán)指令
  .LOOP 循環(huán)指令
  格式: LOOP OPR
  測試條件:(CX)<>0
  .LOOPZ/LOOPE 當為零或相等時循環(huán)指令
  格式: LOOPZ(或LOOPE) OPR
  測試條件:(CX)<>0且ZF=1
  .LOOPNZ/LOOPNE 當不為零或不相等時循環(huán)指令
  格式: LOOPNZ(或LOOPNE) OPR
  測試條件:(CX)<>0且ZF=0
  這三條指令的步驟是:
  1)(CX)<-(CX)-1
  2)檢查是否滿足測試條件,如滿足則(IP)<-(IP)+D8的符號擴充.
  4.子程序
  .CALL調(diào)用指令
  .RET返回指令
  5.中斷
  .INT指令
  格式: INT TYPE
  或 INT
  執(zhí)行的操作:(SP)<-(SP)-2
  ((SP)+1,(SP))<-(PSW)
  (SP)<-(SP)-2
  ((SP)+1,(SP))<-(CS)
  (SP)<-(SP)-2
  ((SP)+1,(SP))<-(IP)
  (IP)<-(TYPE*4)
  (CS)<-(TYPE*4+2)
  .INTO 若溢出則中斷
  執(zhí)行的操作:若OF=1則:
  (SP)<-(SP)-2
  ((SP)+1,(SP))<-(PSW)
  (SP)<-(SP)-2
  ((SP)+1,(SP))<-(CS)
  (SP)<-(SP)-2
  ((SP)+1,(SP))<-(IP)
  (IP)<-(10H)
  (CS)<-(12H)
  .IRET 從中斷返回指令
  格式: IRET
  執(zhí)行的操作:(IP)<-((SP)+1,(SP))
  (SP)<-(SP)+2
  (CS)<-((SP)+1,(SP))
  (SP)<-(SP)+2
  (PSW)<-((SP)+1,(SP))
  (SP)<-(SP)+2
  六、處理機控制指令
  1.標志處理指令
  .CLC進位位置0指令(Clear carry)CF<-0
  .CMC進位位求反指令(Complement carry)CF<-CF
  .STC進位位置1指令(Set carry)CF<-1
  .CLD方向標志置0指令(Clear direction)DF<-0
  .STD方向標志置1指令(Set direction)DF<-1
  .CLI中斷標志置0指令(Clear interrupt)IF<-0
  .STI中斷標志置1指令(Set interrupt)IF<-0
  2.其他處理機控制指令
  NOP(No Opreation) 無操作
  HLT(Halt) 停機
  WAIT(Wait) 等待
  ESC(Escape) 換碼
  LOCK(Lock) 封鎖
  這些指令可以控制處理機狀態(tài).這們都不影響條件碼.
  .NOP 無操作指令
  該指令不執(zhí)行任何操作,其機器碼占有一個字節(jié),在調(diào)試程序時往往用這條指令占有一定的存儲單元,以便在正式運行時用其他指令取代.
  .HLT停機指令
  該指令可使機器暫停工作,使處理機處于停機狀態(tài)以便等待一次外部中斷到來,中斷結束后可繼續(xù)執(zhí)行下面的程序.
  .WAIT等待指令
  該指令使處理機處于空轉(zhuǎn)狀態(tài),它也可以用來等待外部中斷的發(fā)生,但中斷結束后仍返回WAIT指令繼續(xù)執(zhí)行.
  .ESC換碼指令
  格式ESC mem
  其中mem指出一個存儲單元,ESC指令把該存儲單元的內(nèi)容送到數(shù)據(jù)總線去.當然ESC指令不允許使用立即數(shù)和寄存器尋址方式.這條指令在使用協(xié)處理機(Coprocessor)執(zhí)行某些操作時,可從存儲器指得指令或操作數(shù).協(xié)處理機(如8087)則是為了提高速度而可以選配的硬件.
  .LOCK封鎖指令
  該指令是一種前綴,它可與其他指令聯(lián)合,用來維持總線的鎖存信號直到與其聯(lián)合的指令執(zhí)行完為止.當CPU與其他處理機協(xié)同工作時,該指令可避免破壞有用信息.
收藏

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

評論

查看更多

相關推薦

匯編語言的結構化設計及其在俄羅斯方塊中的應用

為了簡化匯編語言的編寫過程,本文提出了一種結構化的匯編編程思路,并以基于AT89C51芯片(以下對匯編語言的討論針對51單片機系統(tǒng))的俄羅斯方塊游戲為例,來展現(xiàn)在51單片機中匯編語言結構化編寫的優(yōu)勢。##俄羅斯方塊的軟件實現(xiàn)方法##實驗測試與結果
2014-06-23 10:27:472713

8051匯編語言程序設計舉例

成就更好的自己目錄3.8 8051匯編語言程序設計舉例3.8.1 子程序的設計3.8.2 查表程序設計3.8.3 分支轉(zhuǎn)移程序設計3.8.4 循環(huán)程序設計3.8 8051匯編語言程序設計舉例 介紹
2021-12-01 08:23:13

匯編語言

匯編語言
2012-06-24 12:33:07

匯編語言

匯編語言怎么實現(xiàn)INTO中斷控制LED的按一次亮按一次滅的效果新手求指教~~
2013-04-03 22:25:13

匯編語言

匯編語言怎么實現(xiàn)INTO中斷控制LED的按一次亮按一次滅的效果新手求指教~~
2013-04-03 22:49:14

匯編語言學習大全

想學匯編語言嗎?這份資料不錯哦!我們都知道匯編語言是不好學的,希望這份資料能幫到你!!!!!
2014-03-21 13:21:33

匯編語言實驗

;nbsp; 匯編語言程序結構………………………….8實驗三&nbsp;&nbsp;&nbsp; DOS和BIOS中斷功能調(diào)用………………….12實驗四&nbsp;&
2008-09-29 13:56:53

匯編語言開發(fā)DSP

剛學DSP,求教如何在CCS上全用匯編語言開發(fā)DSP 2812?包括如何引導,入口地址,如何匯編調(diào)試等。
2013-10-28 12:25:51

匯編語言教程

匯編語言教程
2012-08-01 00:29:02

匯編語言時鐘程序

我想用單片機匯編語言的8255編寫一個簡單的有中斷定時的時鐘程序??
2015-07-02 20:57:05

匯編語言是什么?怎樣去學習匯編語言

匯編語言是什么?怎樣去學習匯編語言呢?計算機怎么識別你寫的代碼呢?
2021-11-29 06:03:45

匯編語言的特點有哪些

第5章單片機C語言匯編語言混合編程05第5章單片機C語言匯編語言混合編程 §5-1混合編程概述 匯編語言特點: 優(yōu)點:執(zhí)行速度快、效率高、實時性強、與硬件結合緊密。 缺點:編程難度大、可讀性差
2021-07-15 08:04:29

匯編語言真的沒用嗎

匯編語言是不是沒用啊?匯編語言能做什么?
2021-10-20 08:05:57

匯編語言問題請教專家

工程師您好! ? ??????? 請如何在匯編語言中調(diào)用c語言定義的數(shù)組?最好舉例說明一下,謝謝!
2018-06-21 13:05:43

ARM匯編語言入門

本指南介紹了使用A64指令集的Arm匯編語言的基本概念,向您展示了如何使用Arm Development Studio創(chuàng)建和運行匯編代碼,并提供了匯編代碼示例供您進行實驗。 匯編語言是一種低級編程
2023-08-08 07:28:42

C語言匯編語言怎樣才能更好地結合

在單片機學習的過程中,掌握一點匯編語言是非常有必有的,作為低級語言匯編語言在單片機開發(fā)中有它不可取代的作用,比如每條指令可以精確的確定延時時間,便于理解非常適合硬件工程師學習。但是要提高單片機技能
2021-07-20 06:56:36

C語言匯編語言的優(yōu)缺點是什么?

什么是c語言?什么是匯編語言?C語言匯編語言的優(yōu)缺點是什么?
2021-10-14 08:48:23

STM32有專用的匯編語言嗎?

我是一個初學者,想了解STM32是怎么使用匯編語言的?而且有沒有有關的資料,然后與51單片機使用的匯編語言有什么區(qū)別?
2015-10-24 14:07:48

c語言匯編語言和機器語言的轉(zhuǎn)化

匯編語言經(jīng)過匯編程序可以翻譯成及期望語言,C語言是不是必須先轉(zhuǎn)換為匯編語言,然后才能生成機器語言?還是C語言可以直接經(jīng)過編譯就可以生成機器語言?我所查找的資料都是說C語言經(jīng)過編譯后生成.obj的目標文件,也就是機器語言,望各位大師給小弟詳解一下,小弟不剩感激。
2015-04-14 16:53:27

《微機原理與匯編語言匯編語言程序設計知識

`《微機原理與匯編語言匯編語言程序設計知識[hide][/hide]`
2017-03-19 10:15:07

什么是匯編語言

基于C++寶典的學習一、什么是匯編語言匯編語言是一種功能很強的程序設計語言,也是利用了計算機所有硬件特性并能直接控制硬件的語言。在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號
2021-07-19 06:05:14

什么是匯編語言

文章目錄前言一、 匯編語言簡介1.1 什么是匯編語言1.2機器語言簡介1.3 匯編語言的演變史1.4 匯編語言的廣義組成二、硬件與軟件2.1 思考2.2 計算機的硬件構成(1)存儲器(2)控制器(3
2022-02-24 07:01:46

什么是匯編語言?

什么是匯編語言?
2021-11-05 06:39:58

使用匯編語言的地方有哪些

對資深單片機開發(fā)人員來說經(jīng)常提倡的一個開發(fā)技巧是,開發(fā)人員應避免使用匯編語言。避免使用匯編語言的原因是它特定于所使用的處理器體系結構,難以閱讀,理解和維護。而且需要注意的是,在查看仍可以使用匯編語言
2021-12-01 06:33:06

如何使用keil4軟件將編寫的C語言程序匯編匯編語言?

如何使用keil4軟件將編寫的C語言程序匯編匯編語言
2021-10-14 07:15:47

如何去實現(xiàn)基于匯編語言的LED燈閃爍呢

什么是匯編語言?匯編語言有何作用?如何去實現(xiàn)基于匯編語言的LED燈閃爍呢?
2021-11-26 08:05:48

如何才能有針性的學習匯編語言

本人是測控專業(yè)的,以后想在嵌入式方面發(fā)展,想學習一下匯編語言,但是不知道學習那種 我發(fā)現(xiàn)有 專門的 匯編語言程序設計還有基于ARM體系的匯編語言還有l(wèi)inux匯編Inter匯編太多了如果想學習咋選擇 是不是計算機專業(yè)的 匯編語言設計 把其他包括 或者大同小異
2016-08-01 00:23:34

匯編語言詳細講解

匯編語言詳細介紹啊,謝謝了
2013-05-10 15:12:57

請問.C語言中可以嵌套匯編語言嗎?

.C語言中可以嵌套匯編語言
2019-09-20 05:55:45

請問匯編語言和C語言哪個好用些

匯編語言和C語言哪個好用一點
2019-04-23 07:55:15

請問C語言中可以嵌套匯編語言嗎?

C語言中可以嵌套匯編語言
2019-09-25 05:55:30

請問自學匯編語言匯編語言需要什么?

學過C語言和Java 學過51單片機, 現(xiàn)在想學習ARM 匯編語言 嵌入式系統(tǒng)Linux 這幾個 有什么相關的視頻或者書籍用來自學
2020-07-26 08:03:32

匯編語言程序設計pdf

匯編語言程序設計的內(nèi)容:每種高級語言程序在連接為可執(zhí)行程序之前,都必須被編譯為匯編語言程序,因此對于高級語言程序設計者來說,了解編譯器如何生成匯編語言代碼十
2008-10-21 17:38:550

匯編語言程序設計下載

professional assembly language 匯編語言程序設計本書分為三部分。第一部分講解匯編語言程序設計環(huán)境基礎,第二部分研究匯編語言程序設計,最后一部分講解高級匯編語言技術。本書
2008-10-21 17:42:050

32位匯編語言程序設計

Windows環(huán)境下32位匯編語言是一種全新的編程語言。它使用與C++語言相同的API接口,不僅可以用來開發(fā)出大型的軟件,而且是了解操作系統(tǒng)運行細節(jié)的最佳方式。 本書從編寫應用
2008-10-21 17:53:180

匯編語言編程藝術(PDF)

匯編語言編程藝術從簡單的Hello程序開始,系統(tǒng)而詳細地闡述了X86微機匯編語言編程的行種基礎知識和編程技巧,內(nèi)容涉及到數(shù)據(jù)表示、存儲器管理、各種數(shù)據(jù)類型、過程、與匯編
2008-10-21 18:04:070

匯編語言程序設計(PDF)

匯編語言程序設計介紹了IBM PC微型計算機,基本匯編語言,順序、分支與循環(huán)程序設計,子程序設計,數(shù)值運算程序設計,非數(shù)值運算程序設計等內(nèi)容。自學與提高的捷徑 高
2008-10-21 18:06:260

匯編語言靜態(tài)分析工具設計與應用

本文針對當前匯編語言的測試工具較少這一實際情況,針對某種匯編語言語法結構特 點,確定了匯編語言靜態(tài)分析工具的總體結構框架,并對工具實現(xiàn)過程中重點的功能模塊算法, 進行
2009-06-19 11:52:1726

匯編語言源代碼分析

匯編語言源代碼分析 查看源代碼將發(fā)現(xiàn)它由4 4個文件組成,其中:• 兩個是匯編語言文件,它們的名字帶后綴“ . s”;• 28個是用“C”語言編寫的,它們的名
2010-02-09 16:18:2126

DSP匯編語言編程基礎

DSP匯編語言編程基礎 一、  實驗目的 1、了解 DSP 的尋址方式; 2、了解 DSP 的匯編語言與 C語言混合編程。 二、  實驗器材 1、安裝有 CCS的 PC
2010-02-11 09:41:07205

MasmEdit匯編語言編譯器

MasmEdit匯編語言編譯器.rar
2010-02-24 14:15:2854

匯編語言自學教程

匯編語言自學教程 匯編語言(AssemblyLanguage)是面向機器的程序設計語言。在匯編語合中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。
2010-03-15 14:24:53509

51單片機匯編語言教程

51單片機匯編語言教程 本書有上下兩冊,共48課.本教程是最通俗易懂之單片機教材.
2010-05-29 10:07:381736

匯編語言程序結構

實 驗   匯編語言程序結構 一、實驗目的 1.掌握匯編語言程序上機過程。    2.掌握匯編語言結構。
2008-09-28 23:11:252657

匯編語言程序設計實驗

實驗 匯編語言程序設計 一、實驗目的 1. 熟悉編寫和調(diào)試語言程序的方法,提高編
2008-09-28 23:24:304006

匯編語言教程-段寄存器的說明語句

匯編語言教程-段寄存器的說明語句   在匯編語言源程序中可以定義多個段,每個段都要與一個段寄存器建立一種對應關系。建立這
2010-03-27 17:17:311230

Linux中的匯編語言

在閱讀Linux源代碼時,你可能碰到一些匯編語言片段,有些匯編語言出現(xiàn)在以.S為擴展名的匯編文件中,在這種文件中,整個程序全部由匯編語言組成。有些匯編命令出現(xiàn)在以.c為擴展名
2011-04-07 20:43:2355

Assemble匯編語言設計技術

匯編語言 設計程序,是所有程序語言的基本資源。我們不管你使用除匯編語言或指令代碼以外的程序語言編程,僅僅是編程表達、編程規(guī)則和變成環(huán)境的變化,但是這些變化都是基于匯
2011-07-07 15:47:460

C語言匯編語言混合編程示例程序

本文介紹了C語言匯編語言模塊接口的一般方法,并給出了完整的編程示例
2011-07-11 17:49:02103

匯編語言第二版

匯編語言第二版
2013-09-06 14:57:330

匯編語言第二版-王爽(全部)

電子發(fā)燒友網(wǎng)站提供《匯編語言第二版-王爽(全部).txt》資料免費下載
2014-11-21 17:57:560

匯編語言第2版_王爽

電子發(fā)燒友網(wǎng)站提供《匯編語言第2版_王爽.txt》資料免費下載
2015-08-04 12:05:270

匯編語言程序設計_羅萬鈞

介紹匯編語言程序設計基本知識的課件 有需要的朋友下來看看
2015-12-24 10:44:220

ARM匯編語言官方手冊(中文)

ARM匯編語言官方手冊(中文)匯編語言ARM匯編語言官方手冊(中文)
2015-12-28 15:02:27203

匯編語言的FFT算法

匯編語言的FFT算法 有需要的朋友下來看看
2015-12-29 17:25:064

微機原理匯編語言接口技術

16/32位微機原理匯編語言與接口技術,重點大學計算機教材
2015-12-31 10:50:320

匯編語言

匯編語言舉例,比如讀寄存器內(nèi)容的源代碼、匯編語言制作的光帶菜單及源程序、獲得操作系統(tǒng)版本的匯編源代碼等
2015-12-31 10:40:0229

匯編語言學習課件_匯編語言程序組織

第四章 匯編語言程序組織 4.1 匯編語言語句格式 4.2 匯編語言源程序結構 4.3 常用偽指令 4.4 匯編語言操作符 4.5 匯編語言程序上機過程 4.6 調(diào)用ROM BIOS或DOS中斷實現(xiàn)數(shù)據(jù)的輸入輸出 4.7 簡化段定義
2015-12-31 10:41:020

匯編語言學習課件_匯編語言高級編程技巧

第八章 匯編語言高級編程技巧 8.1 模塊化程序設計 8.2 匯編語言程序與高級語言程序的連接 8.3 使用DOS EXEC功能執(zhí)行程序 8.4 TSR程序設計
2015-12-31 10:41:140

匯編語言程序設計自學教程

匯編語言程序設計自學教程,幫助自學者掌握匯編語言的自行設計與編程。
2016-04-06 15:47:0639

匯編語言程序設計

匯編語言程序設計,又需要的可以 下來看看
2016-05-06 15:13:280

匯編語言程序設計

電子專業(yè)單片機相關知識學習教材資料——匯編語言程序設計
2016-09-01 16:40:070

《微機原理與匯編語言》實驗指導書

《微機原理與匯編語言》實驗指導書
2016-12-14 15:07:030

《微機原理與匯編語言》微機基礎知識

《微機原理與匯編語言》微機基礎知識
2016-12-14 15:07:030

《微機原理與匯編語言》 中斷系統(tǒng)

《微機原理與匯編語言》 中斷系統(tǒng)
2016-12-12 22:07:220

《微機原理與匯編語言》 定時器及應用

《微機原理與匯編語言》 定時器及應用
2016-12-12 22:07:220

微機原理--匯編語言程序設計

微機原理--匯編語言程序設計
2016-12-12 22:07:220

匯編語言的指令集

匯編語言的指令集
2017-10-24 08:45:4624

Linux 匯編語言開發(fā)指南詳解

匯編語言的優(yōu)點是速度快,可以直接對硬件進行操作,這對諸如圖形處理等關鍵應用是非常重要的。Linux 是一個用 C 語言開發(fā)的操作系統(tǒng),這使得很多程序員開始忘記在 Linux 中還可以直接使用匯編這一
2017-11-02 10:51:480

C語言匯編語言相互結合的嵌套匯編語言

要提高單片機技能,必須掌握C 語言編程,因為C 語言有強大的模塊化管理思想。我想在很多人學習的過程中即學了匯編語言,又學習了C 語言,那么一個問題便隨之而產(chǎn)生,如果將C 語言匯編語言相互結合,達到更好的編程效果,本次講解就是基于這個問題而生成的。
2018-03-14 18:23:003245

高級語言匯編語言_機器語言的區(qū)別

本文首先介紹了高級語言的優(yōu)缺點、匯編語言的優(yōu)缺點及使用匯編語言的理由,其次介紹了機器語言的優(yōu)缺點,最后闡述了高級語言匯編語言、機器語言的區(qū)別是什么。
2018-04-16 10:28:0429298

單片機閃爍燈匯編語言源代碼大全(四款閃爍燈的匯編語言源代碼)

本文主要介紹了四款閃爍燈的匯編語言源代碼,具體的跟隨小編一起來了解一下。
2018-04-26 14:47:2424136

單片機 | 基礎匯編語言編程實例

單片機匯編語言編程
2019-06-05 18:04:339371

從編譯原理的角度看C語言如何轉(zhuǎn)換成匯編語言的?

從編譯原理的角度看C語言是如何轉(zhuǎn)換成匯編語言的?
2020-02-25 15:52:072221

匯編語言結構化設計程序教程

匯編語言結構化設計程序教程說明。
2021-03-26 09:38:5624

匯編語言第4版電子版下載

匯編語言第4版電子版免費下載。
2021-06-16 09:23:120

單片機C語言匯編語言混合編程實例詳解

單片機C語言匯編語言混合編程實例詳解
2021-08-16 09:50:41221

CPU如何執(zhí)行代碼 匯編語言教程

的是低級語言,它專門用來控制硬件。匯編語言就是低級語言,直接描述/控制 CPU 的運行。如果你想了解 CPU 到底干了些什么,以及代碼的運行步驟,就一定要學習匯編語言。 匯編語言不容易學習,就連簡明扼要的介紹都很難找到。下面
2021-08-25 11:14:103263

MCS-51單片機匯編語言程序設計

文章目錄前言一、匯編的方法1.手工匯編:2.機器匯編:二、偽指令一、匯編語言指令類型二.偽指令 常用偽指令及功能三、匯編語言程序設計步驟四、常用的順序結構1、 順序程序設計2 、 分支程序的設計總結
2021-11-05 12:21:0428

Stm32單片機開發(fā)KEIL啟動文件匯編語言詳解

文章目錄簡介 啟動文件匯編代碼相關指令 堆??臻g的定義 初始化中斷向量表 復位中斷函數(shù) 中斷函數(shù)的弱(WEAK)聲明 用戶棧和堆初始化簡介我們在做單片機編程的時候,大部分都是用KEIL自帶的啟動文件
2021-11-13 15:21:0312

匯編】AT89C52點亮一盞LED燈(匯編語言)

學習利用匯編語言寫單片機程序的第一步是要學習匯編語言的相關理論知識,那么實踐操作的第一步肯定是從點燈開始啦!編譯環(huán)境:keil4編譯語言匯編語言內(nèi)容:??一、keil4建立AT89C52的工程環(huán)境
2021-11-22 20:51:0318

匯編語言學習

寄存器 一個cpu有多個寄存器 就是cpu中可以存儲數(shù)據(jù)的器件,一個cpu中有多個寄存器匯編語言由一下3類組成 1、匯編指令(機器碼的助記符) 2、偽指令(由編譯器執(zhí)行
2021-11-23 18:06:2414

[從零學習匯編語言] - 寄存器與內(nèi)存訪問

[從零學習匯編語言] - 寄存器與內(nèi)存訪問
2021-11-26 20:51:0612

KEIL中啟動文件詳解匯編語言

KEIL中啟動文件詳解匯編語言
2021-12-04 12:06:098

作業(yè)七STM32CubeMX及匯編語言串口通信

作業(yè)七STM32CubeMX及匯編語言串口通信
2021-12-07 09:06:092

【嵌入式】基于MDK創(chuàng)建純匯編語言的STM32工程

【嵌入式】基于MDK創(chuàng)建純匯編語言的STM32工程
2021-12-07 09:36:0515

[從零學習匯編語言] - 計算機中的硬件與軟件

文章目錄前言一、 匯編語言簡介1.1 什么是匯編語言1.2 機器語言簡介1.3 匯編語言的演變史1.4 匯編語言的廣義組成二、硬件與軟件2.1 思考2.2 計算機的硬件構成(1)存儲器(2)控制器
2021-12-31 19:55:1110

匯編語言題目庫

匯編語言2005-2006學年第二學期期末考試復習題及參考答案
2022-05-24 15:02:411

ARM匯編語言官方手冊

ARM匯編語言官方手冊
2022-10-10 10:44:1915

神經(jīng)元匯編語言參考

神經(jīng)元匯編語言參考
2023-03-13 19:30:170

神經(jīng)元匯編語言參考

神經(jīng)元匯編語言參考
2023-07-04 20:47:520

單片機匯編語言的結構/數(shù)據(jù)類型/匯編指令

開發(fā)匯編語言是為了為機器級代碼指令提供助記符或符號,匯編語言程序由助記符組成,因此應將它們翻譯成機器代碼。負責這種轉(zhuǎn)換的程序稱為匯編程序。匯編語言通常被稱為低級語言,因為它直接與 CPU 的內(nèi)部結構一起工作。要用匯編語言編程,程序員必須知道 CPU 的所有寄存器。
2023-07-07 12:28:401824

已全部加載完成