乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      80X86指令總結(jié)

       herowuking 2015-09-26

      一、數(shù)據(jù)傳送指令

      指令名稱

      匯編語句格式

      功能

      影響標(biāo)志位

      傳送
      move data
      mov opd, ops (ops) → opd;分為主存儲(chǔ)器、通用寄存器、段寄存器,不可同時(shí)使用主存儲(chǔ)器,類型要匹配:byte,word,dword
      帶符號(hào)擴(kuò)充的傳送
      move with sign-extend
      movsx opd, ops 將ops的符號(hào)向前擴(kuò)展成與opd相同的數(shù)據(jù)類型后 → opd
      ops不能為立即數(shù),
      帶0擴(kuò)展的傳送
      move with zero-extend
      movzx opd, ops 將ops的高位向前補(bǔ)0擴(kuò)展成與opd相同的數(shù)據(jù)類型后 → opd
      數(shù)據(jù)交換
      exchange
      xchg opd, ops 將(opd)與(ops)交換
      源操作數(shù)不能是立即操作數(shù)
      32位寄存器字節(jié)交換
      byte swap
      bswap reg
      (reg,代表寄存器,下同)
      將從第一個(gè)與第四個(gè)字節(jié)交換,將第二個(gè)字節(jié)和第三個(gè)字節(jié)交換
      (按字節(jié)反序),32位寄存器
      交換并相加
      exchange and add
      xadd opd, ops 將(opd)與(ops)互換,(opd)+(ops) → opd af,of,pf,
      sf,zf,cf
      查表轉(zhuǎn)換
      table look-up translation
      xlat ops 或 xlatb (ds:[bx/ebx+al]) → al (求和之前al作無符號(hào)擴(kuò)展),
      一般把數(shù)表的首地址放到bx/ebx中,lea bx, buf  ;al就是在buf中的位置
      傳送偏移地址
      load effective address
      lea reg,ops ops → reg
      傳送偏移地址和數(shù)據(jù)段首地址
      load data segment register
      lds reg, ops (ops)→ reg  
      (ops+2/4)→ ds;ops一定是存儲(chǔ)器地址,類型為dword/fword
      傳送偏移地址和附加段首地址
      load far pointer to extra segment
      les/lfs/lgs reg, ops 同上,只是段寄存器分別為es,fs,gs
      傳送偏移地址和堆棧首地址
      load stack segment
      lss reg, ops 同上,段寄存器為ss
      進(jìn)棧
      push word/dword onto stack
      push ops
      pushw ops 或pushd ops
      16位段:(sp) – 2/4 → sp    (ops) → [sp]; 可以為兩個(gè)字節(jié),
      或四個(gè)字節(jié)32位段:(esp) – 2/4 → esp  (ops) → [esp]; 同上
      所有16位通用寄存器進(jìn)棧
      pushall 16-bit general registers
      pusha (sp/esp) –2 → sp/esp 重復(fù)8次壓入ax,cx,dx,bx,sp(指令執(zhí)前),bp,si,di;是先改變sp/esp 再把數(shù)據(jù)寫入
      所有32位通用寄存器進(jìn)棧
      pushall 32-bit general registers
      pushad (sp/esp) – 4 → sp/esp 重復(fù)8次壓入eax,ecx,edx,ebx,
      esp(指令執(zhí)行前),ebp,esi,edi;是先改變sp/esp 再把數(shù)據(jù)寫入
      出棧
      pop a word/dword frome the stack
      pop opd 16位段:[sp]→ (opd) ; (sp) + 2/4 → sp   ;可以為兩個(gè)字節(jié),或四個(gè)字節(jié)
      32位段:[esp]→ (opd) ; (esp) + 2/4 → esp ;  同上
      出棧到所有16位通用寄存器
      pop stack into all 16-bit registers
      popa 將棧頂?shù)?6個(gè)字節(jié)依次出棧到di,si,bp,丟棄2個(gè)字節(jié),bx,dx,cx,ax,
      (sp/esp)+16 → sp/esp  
      出棧到所有32位通用寄存器
      pop stack into all 32-bit registers
      popad 將棧頂?shù)?6個(gè)字節(jié)依次出棧到edi,esi,ebp,丟棄4個(gè)字節(jié),ebx,edx,ecx,eax,
      (sp/esp)+32 → sp/esp  
      標(biāo)志進(jìn)棧
      push flags onto stack
      pushf (sp/esp) – 2 → sp/esp
      (flags) → [sp/esp]
      擴(kuò)展標(biāo)志出棧
      push eflags onto stack
      pushfd sp/esp – 4 → sp/esp
      (eflags) → [sp/esp]
      標(biāo)志出棧
      pop stack into flags
      popf [sp/esp] → flags
      sp/esp + 4 → sp/esp
      擴(kuò)展標(biāo)志出棧
      pop stack into eflags
      popfd [sp/esp] → eflags
      sp/esp + 4 → sp/esp
      標(biāo)志傳送到ah
      load ah from flags
      lahf (flags7-0) →  ah
      將ah傳送到flags
      store ah into flags
      sahf (ah) → flags7-0 sf,zf,af,pf,cf
      輸入
      input from port
      in opd, ops ([ops]) →  opd;
      opd只能是al、ax、eax;ops為立即數(shù)(<255)或者dx
      輸出
      output to port
      out opd, ops (ops) → [opd];
      ops只能是al、ax、eax;opd為立即數(shù)(<255)或者dx

      二、算術(shù)運(yùn)算指令

      指令名稱

      匯編語句格式

      功能

      影響標(biāo)志位

      加 1
      increment
      inc opd (opd) + 1 → opd af,of,pf,
      sf,zf

      addition
      add opd, ops (opd) + (ops) → opd af,of,pf,
      sf,zf
      帶進(jìn)位加
      add with carry
      adc opd, ops (opd) + (ops) + cf → opd af,of,pf,
      sf,zf
      減 1
      decrement
      dec opd (opd) – 1 → opd af,of,pf,
      sf,zf
      求補(bǔ)
      two's complement negation
      neg opd 0 – (opd) → opd af,of,pf,
      sf,zf

      subtract
      sub opd, ops (opd) – (ops) → opd af,of,pf,
      sf,zf
      帶借位減
      subtract with borrow
      sbb opd, ops (opd) – (ops) – cf → opd af,of,pf,
      sf,zf
      比較
      compare
      cmp opd, ops (opd) – (ops)
      一般用于轉(zhuǎn)移前的控制,應(yīng)用于跳轉(zhuǎn)
      af,of,pf,
      sf,zf
      無符號(hào)乘
      unsigned multiply
      mul ops 字節(jié)乘:(al) * (ops) → ax; 字乘法:(ax) * (ops) → dx:ax;
      雙字乘:(eax) * (ops) → edx:eax
      cf,of
      單操作數(shù)的有符號(hào)乘
      signed integer multiply
      imul ops 字節(jié)乘:(al) * (ops) → ax; 字乘法:(ax) * (ops) → dx:ax;
      雙字乘:(eax) * (ops) → edx:eax
      cf,of
      雙操作數(shù)的有符號(hào)乘
      signed integer multiply
      imul opd, ops (opd) * (ops) → opd;opd可為16/32的寄存器,ops可為同類型的寄存器、存儲(chǔ)器或立即數(shù) cf,of
      三操作數(shù)的有符號(hào)乘
      signed integer multiply
      imul opd, ops, n (ops) * n → opd;同上,n為立即數(shù) cf,of
      將字節(jié)轉(zhuǎn)換成字
      convert byte to word
      cbw 將al中的符號(hào)擴(kuò)展到ah中,數(shù)據(jù)的補(bǔ)碼數(shù)值沒有變
      將字轉(zhuǎn)換成雙字
      convert word to double word
      cwd 將ax中的符號(hào)擴(kuò)展到dx的高位中
      將字轉(zhuǎn)換成雙字
      convert word to double word
      cwde 將ax中的符號(hào)擴(kuò)展到eax的高位中
      將雙字轉(zhuǎn)換成4字
      convert double word to quadword
      cdq 將eax中的符號(hào)擴(kuò)展到edx中
      無符號(hào)除
      unsigned divide
      div ops 字節(jié)除:(ax)/(ops)→al(商),ah(余數(shù));字除:(dx:ax)/(ops) → ax(商),
      dx(余數(shù)) 雙字除: (edx:eax)/(ops) → eax(商),edx(余數(shù))
      af,of,pf,
      cf,sf,zf
      有符號(hào)除
      signed integer divide
      idiv ops 字節(jié)除:(ax)/(ops)→al(商),ah(余數(shù));字除:(dx:ax)/(ops) → ax(商),
      dx(余數(shù)) 雙字除: (edx:eax)/(ops) → eax(商),edx(余數(shù))
      af,of,pf,
      cf,sf,zf

      三、控制轉(zhuǎn)移指令

      指令名稱

      匯編語句格式

      功能

      影響標(biāo)志位

      相等/等于0轉(zhuǎn)移
      jump if equal/zero
      je/jz 標(biāo)號(hào) zf = 1 轉(zhuǎn)移
      不相等/不等于0轉(zhuǎn)移
      jump if not equal/zero
      jne/jnz 標(biāo)號(hào) zf = 0 轉(zhuǎn)移
      為負(fù)轉(zhuǎn)移
      jump if sign
      js 標(biāo)號(hào) sf = 1 轉(zhuǎn)移
      為正轉(zhuǎn)移
      jump if positive
      jns 標(biāo)號(hào) sf = 0 轉(zhuǎn)移
      溢出轉(zhuǎn)移
      jump if overflow
      jo 標(biāo)號(hào) of = 1 轉(zhuǎn)移
      無溢出轉(zhuǎn)移
      jump if not overflow
      jno 標(biāo)號(hào) of = 0 轉(zhuǎn)移
      有進(jìn)位轉(zhuǎn)移
      jump if carry
      jc 標(biāo)號(hào) cf = 1 轉(zhuǎn)移
      無進(jìn)位轉(zhuǎn)移
      jump if not carry
      jnc 標(biāo)號(hào) cf = 0 轉(zhuǎn)移
      偶檢驗(yàn)/偶性轉(zhuǎn)移
      jump if parity/parity even
      jp/jpe 標(biāo)號(hào) pf = 1 轉(zhuǎn)移
      奇檢驗(yàn)/奇性轉(zhuǎn)移
      jump if no parity/parity odd
      jnp/jpo 標(biāo)號(hào) pf = 0 轉(zhuǎn)移
      小于/不大于也不等于 轉(zhuǎn)移
      jump if less/not greater nor equal
      jl/jnge 標(biāo)號(hào) sf ≠ of 轉(zhuǎn)移
      不小于/大于或等于轉(zhuǎn)移
      jump if not less/greater or equal
      jnl/jge 標(biāo)號(hào) sf = of 轉(zhuǎn)移
      大于/不小于或不等于轉(zhuǎn)移
      jump if greater/not less or not equal
      jg/jnle 標(biāo)號(hào) sf = of, 且zf = 0 轉(zhuǎn)移
      不大于/小于或等于轉(zhuǎn)移
      jump if not greater /less or equal
      jng/jle 標(biāo)號(hào) sf ≠ of 或zf =  1 轉(zhuǎn)移
      低于/不高于且不等于轉(zhuǎn)移(無符號(hào))
      jump if below/not above not equal
      jb/jnae 標(biāo)號(hào) cf = 1 轉(zhuǎn)移
      不低于/高于或等于轉(zhuǎn)移(無符號(hào))
      jump if now below/above or equal
      jnb/jae 標(biāo)號(hào) cf = 0 轉(zhuǎn)移
      高于/不低于且比等于轉(zhuǎn)移(無符號(hào))
      jump if above/not below nor equal
      ja/jnbe 標(biāo)號(hào) cf = 0 且 zf = 0 轉(zhuǎn)移
      不高于/低于或等于
      jump if not above/below or equal
      jna/jbe 標(biāo)號(hào) cf = 1 或 zf =1 轉(zhuǎn)移
      無條件轉(zhuǎn)移
      jump unconditionally
      jmp opd 相對(duì)轉(zhuǎn)移:(opd)+ip/eip → ip/eip 近轉(zhuǎn)移:(opd) → ip/eip
      遠(yuǎn)轉(zhuǎn)移:(opd) → ip/eip, (opd+2/4) → cs,或根據(jù)描述符決定
      cx為0轉(zhuǎn)移
      jump if cx is zero
      jcxz 標(biāo)號(hào)
      或jecxz 標(biāo)號(hào)
      若(cx/ecx) = 0 轉(zhuǎn)移
      循環(huán)
      loop
      loop 標(biāo)號(hào)
      或loopw/loopd 標(biāo)號(hào)
      (cx/ecx) – 1 → cx/ecx, 若(cx/ecx) ≠ 0 則轉(zhuǎn)移
      相等/為0循環(huán)
      loop if equal/zero
      loope/loopz 標(biāo)號(hào) (cx/ecx) – 1 → cx/ecx,若(cx/ecx) ≠ 0 且zf = 1 則轉(zhuǎn)移
      不相等/不為0循環(huán)
      loop if not equal/not zero
      loopne/loopnz 標(biāo)號(hào) (cx/ecx) – 1 → cx/ecx,若(cx/ecx) ≠ 0 且zf = 0 則轉(zhuǎn)移
      檢查數(shù)組下標(biāo)邊界
      check array index against bounds
      bound reg, ops 若reg的索引值小于ops指定的下邊界或大于ops指定的上邊界,則變成5號(hào)異常
      調(diào)用子程序
      call a procedure
      call opd 調(diào)用opd所指定的子程序(32位段的遠(yuǎn)調(diào)用時(shí),CS被擴(kuò)展成4字節(jié)后壓棧) 任務(wù)切換有影響,否則無
      從子程序返回
      return from procedure
      ret [n]
      n代表16位常量,[]表可選
      從子程序返回到調(diào)用語句的下一個(gè)語句處,若n存在,則(sp/esp)+n → sp/esp;32位段遠(yuǎn)返回時(shí),cs出棧時(shí)改變4字節(jié)的棧指針
      中斷調(diào)用
      interrupt
      int n (flags/eflags) 入棧,0→if,tf;(cs) 入棧;(4*n)→ip,(4*n+2)→cs或根據(jù)idt給eip,cs賦值 0→tf,if,返回時(shí)復(fù)原
      溢出中斷
      interrupt if overflow
      into (flags/eflags) 入棧,0→if,tf;(cs) 入棧;(4*n)→ip,(4*n+2)→cs或根據(jù)idt給eip,cs賦值;of=1時(shí)產(chǎn)生int 4 0→tf,if,返回時(shí)復(fù)原
      中斷返回
      interrupt return
      iret 或iretd(32位段)
      或iretf
      ip出棧,cs出棧,flags/eflags出棧,根據(jù)nt標(biāo)志做相應(yīng)的處理 都有影響

      四、串操作指令

      指令名稱

      匯編語句格式

      功能

      影響標(biāo)志位

      串傳送
      move byte/word string
      movs opd, ops
      movsb,movsw,movsd
      (ds:[si/esi]) → es:[di/edi],(ops所在的段可以取代ds),(si/esi)±1/2/4 → si/esi, (di/edi)±1/2/4 → di/edi
      串比較
      compare string
      cmps ops, opd
      cmpsb,compsw,compsd
      (ds:[si/esi]) – (es:[di/edi]),(si/esi)±1/2/4 → si/esi,
      (di/edi)±1/2/4 →di/edi
      af,cf,of,pf,
      sf,zf
      串搜索
      scan string
      scas opd
      scasb,scasw,scasd
      (al/ax/eax) – (es:[di/edi]),(di/edi)±1/2/4 →di/edi af,cf,of,pf,
      sf,zf
      取字符串
      load string
      lods ops
      lodsb, lodsw,lodsd
      (ds:[si/esi]) → al/ax/eax,(ops所在的段可以取代ds),
      (si/esi)±1/2/4 →si/esi
      存字符串
      store string
      stos opd
      stosb,stosw,stosd
      (al/ax/eax)→es:[di/edi],(di/edi)±1/2/4 →di/edi
      輸入串
      input from port to string
      ins opd, dx
      insb,insw,insd
      ([dx]) →es:[di/edi],(di/edi)±1/2/4 →di/edi
      輸出串
      output string port
      outs opd, ops
      outsb,outsw,outsd
      (ds:[si/esi])→[dx],(si/esi)±1/2/4 →si/esi
      重復(fù)前綴
      repeat string operation
      rep 串操作指令
      repe/repz 串操作指令
      repne/repnz 串操作指令
      若(cx/ecx) ≠ 0,執(zhí)行一個(gè)串操作,(cx/ecx)-1→cx/ecx,返回再做
      若(cx/ecx) ≠ 0且zf=1,執(zhí)行一次串操作,(cx/ecx)-1→cx/ecx,返回
      若(cx/ecx) ≠ 0且zf=0,執(zhí)行一次串操作,(cx/ecx)-1→cx/ecx,返回

      五、位操作指令

      指令名稱

      匯編語句格式

      功能

      影響標(biāo)志位

      求反
      one's complement negation
      not opd ▁▁▁▁▁
      (opd)→opd
      邏輯乘
      and
      and opd, ops (opd)∧(ops)→opd pf,sf
      位測試
      bit test
      bt opd, ops 將(ops)作為位偏移(0~31)指明的opd對(duì)應(yīng)位的值→CF cf
      位測試并求補(bǔ)
      bit test and complement
      btc opd, ops 在bt指令的基礎(chǔ)上,將opd的對(duì)應(yīng)位求反后→opd cf
      位測試并清0
      bit test and reset
      btr opd, ops 在bt指令的基礎(chǔ)上,將0→opd的對(duì)應(yīng)位 cf
      位測試并置1
      bit test and set
      bts opd, ops 在bt指令的基礎(chǔ)上,將1→opd的對(duì)應(yīng)位 cf
      正向位掃描
      bit scan forward
      bsf reg, ops 從0位開始掃描ops各位,若均為0,則zf=1,否則將第一個(gè)為1的位置值
      →reg,zf=0
      zf
      反向位掃描
      bit scan reverse
      bsr reg, ops 從最高位開始掃描ops各位,若均為0,則zf=1,否則,將首先碰到的為1的位置值→reg,zf=0 zf
      測試
      test
      test opd, ops (ops)∧(opd) sf,zf,pf;
      0→of,cf
      邏輯加
      inclusive or
      or opd, ops (opd)∨(ops)→opd sf,zf,pf;
      0→of,cf
      按位加
      exclusive or
      xor opd, ops 加法,就是用異或的計(jì)算方法了 sf,zf,pf;
      0→of,cf
      算術(shù)左移
      shift arithmetic left
      sal opd, 1 ;sal opd, cl;
      sal opd, 8位立即數(shù)
      cf中的值是最后移入位的值 sf,zf,pf,cf
      邏輯左移
      shift logic left
      shl opd, 1; shl opd, cl
      shl opd, 8位立即數(shù)
      cf中的值是最后移入位的值 sf,zf,pf,cf
      雙精度左移
      double precision shift left
      shld opd, reg,八位立即數(shù)
      shld opd, reg, cl
      將reg的最高n位移入opd的低n位中,reg保持不變,opd最后移入的一位保存在cf中 cf,sf,zf,pf
      算術(shù)右移
      shift arithmetic rigtht
      sar opd,1; sar opd, cl
      sar opd, 8位立即數(shù)
      將(opd)向右移動(dòng)n個(gè)指定的次數(shù)且最高位保持不變,cf的內(nèi)容為最后移入位的值 sf,zf,pf,cf
      邏輯右移
      shift logical right
      shr opd, 1; shr opd cl
      shr opd, 8位立即數(shù)
      將(opd)向右移動(dòng)n規(guī)定的次數(shù),最高位補(bǔ)入0,cf的內(nèi)容為最后移入位的值 sf,zf,pf,cf
      雙精度右移
      double precision shift right
      shrd opd, reg,8位立即數(shù)
      shrd opd, reg, cl
      將reg的最低n位移入opd高n位中,reg保持不變,opd最后移出的一位保存在cf中 cf,sf,zf,pf
      循環(huán)右移
      rotate rigth
      ror opd, 1; ror opd cl
      ror opd, 8位立即數(shù)
      將目的操作數(shù)的最高位和最低位連接起來,組成一個(gè)環(huán),將環(huán)中的所有位一起向右移動(dòng)n位規(guī)定的數(shù)目(cl或立即數(shù)確定),cf為最后移入位的值 cf
      循環(huán)左移
      rotate left
      rol opd,1; rol opd cl
      rol opd, 8位立即數(shù)
      同上,向左移動(dòng) cf
      帶進(jìn)位的循環(huán)右移
      rotate right through carry
      rcr opd, 1; rcr opd, cl
      rcr opd, 8位立即數(shù)
      cf在最低位,與目的操作數(shù)連成環(huán),移動(dòng) cf
      帶進(jìn)位的循環(huán)左移
      rotate left through carry
      rcl opd, 1; rcl opd, cl
      rcl opd, 8位立即數(shù)
      cf在最高位,與目的操作數(shù)連成環(huán),移動(dòng)指定的位數(shù) cf

      六、尋址方式

      尋址方式

      格式

      功能

      實(shí)例

      寄存器尋址 R 寄存器R的內(nèi)容就是操作數(shù)(R是任意寄存器個(gè)別指令的限制除外)
      R可以是ax,bx,cx,dx,cs,ds,ss,es…….
      inc bx
      寄存器間接尋址 [R]
      SS:[R]; 堆棧段
      DS:[R]; 數(shù)據(jù)段
      操作數(shù)在主存儲(chǔ)器中,而操作數(shù)的偏移地址EA在指明的寄存器中
      16位:只能是bx,bp,si,di
      32位:通用寄存器(eax,ebx,ecx,edx,edi,esi,ebp,esp)
      未指明段時(shí),bp,ebp,esp為堆棧段,其余是數(shù)據(jù)段
      mov a, [si]
      mov cx, [ebp]
      變址尋址 16位:[R+V],[R]+V,V[R]
      32位:[R*F+V],
      [R*F]+V,V[R*F]
      操作數(shù)在主存儲(chǔ)器中,偏移地址EA在指定寄存器R的內(nèi)容乘以比例因子F與給出位移量V的和。
      位移量V是不超過16位或不超過32位的二進(jìn)制補(bǔ)碼表示的有符號(hào)數(shù)(立即數(shù)),也可以是符合語法規(guī)則的數(shù)值表達(dá)式變量,標(biāo)號(hào),
      最后計(jì)算的偏移量是無符號(hào)數(shù),
      未明確段時(shí),規(guī)則如上
      mov al, [ebx*2]+5
      add –2[bp], ax
      mov 2*10h[si]

      基址加變址尋址 16位:[bx/bp+si/di+V]
              V[bx/bp][si/di]
              V[bx/bp+si/di]
      32位:[BR+IR*F+V],
              V[BR][IR*F],
              V[BR+IR*F]
      操作數(shù)在主存儲(chǔ)器中,偏移地址EA是指令中基址寄存器的內(nèi)容、變址寄存器的內(nèi)容乘以比例因子、位移量V三項(xiàng)之和
      32位時(shí)IR不能是esp,
      br中的來確定段
      mov ax, 8[bx][si]
      mov eax, –6[edi*2][ebp]
      立即尋址 n 所提供額操作數(shù)是緊跟在指令碼后面的一個(gè)采用8位、16位或32位二進(jìn)制補(bǔ)碼表示的有符號(hào)書,構(gòu)成指令的一部分
      n是立即數(shù),可以是占用1個(gè)字節(jié),2個(gè)字節(jié),4個(gè)字節(jié)的存儲(chǔ)單元,具體的類型必須要表示出來,根據(jù)指令的其它部分來決定,n只能是常數(shù)或結(jié)果為確定值的表達(dá)式,且只能做源操作數(shù)
      mov word ptr [si],12h
      add eax, -12345678h
      直接尋址 段寄存器名:[n]
      變量
      變量+常量
      操作數(shù)在主存儲(chǔ)器中,
      n是一個(gè)數(shù)值或數(shù)值表達(dá)式時(shí),直接表明操作數(shù)的偏移地址值,且為無符號(hào)數(shù),[n]不能指明段寄存器,所以加了一個(gè)段說明符,
      變量或變量+常量的地址表達(dá)式在匯編過程中被轉(zhuǎn)換成“段寄存器名:[n]”的形式,期中n是匯編程序計(jì)算地址表達(dá)式得到的結(jié)果,
      mov ds:[20h], cl
      inc buf; (buf是定義的變量)
      mov ax, array1
      mov array, bx
      sub cx, array3
      mov dx, array4+3
      (array* 是定義的變量)

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多