⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t32.men

📁 arm的仿真软件
💻 MEN
📖 第 1 页 / 共 4 页
字号:
               enddo
     )
;     -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
      menuitem "&Trace from Start to End..."
       (
       dialog
       (
       header "Trace from Start to Stop Point"
       pos 0x1 1.3 30.
addrA: defedit "" ""
       pos 32. 1.3 7.
       button "Browse..."
       (
         local &wildcard
         &wildcard=dialog.string(addrA)
         if "&wildcard"==""
           &wildcard="*"
         if !string.find("&wildcard","*?")
           &wildcard="*&wildcard*"
         symbol.browse &wildcard /c "dialog.set addrA ""*""" /d
       )
       pos 0x1 4.3 30.
addrB: edit "" ""
       pos 32. 4.3 7.
       button "Browse..."
       (
         local &wildcard
         &wildcard=dialog.string(addrB)
         if "&wildcard"==""
           &wildcard="*"
         if !string.find("&wildcard","*?")
           &wildcard="*&wildcard*"
         symbol.browse &wildcard /c "dialog.set addrB ""*""" /d
       )

       pos 1. 6.5  9.
       defbutton "Ok"
       (
	 dialog.execute apply
         dialog.end
       )

       pos 25. 6.5  9.
       button "Cancel" "dialog.end"

       pos 13. 6.5  9.
apply: button "Apply"
       (
         local &addrA &addrdeclA &triggerA &addrB &addrdeclB &triggerB &triggerH
         local &VBusA &VBusB
         &VBusA=""
         &VBusB=""

         on error jumpto
         (
           beep 5.
           print "Input error, please check syntax"
           enddo
         )

         &triggerH="TRUE"
         ;----------------- A ------------------------
         &addrdeclA=""
         &addrA=dialog.string(addrA)
         if "&addrA"!=""
         (
           if dialog.boolean(hllA)
              &addrA="v.range(""&addrA"")"
           else if dialog.boolean(rangeA)
              &addrA="y.range(""&addrA"")"
           &addrdeclA="addr AlphaBreak &addrA"
           if  FIRE()&&CPU()=="M68372"
           (
               if  P:FASBASE.ADDRESS()!=P:0x0ffffffff
               (
                   if   (P:FASBASE.ADDRESS()<=P:(&addrA))&&(P:(&addrA)<=(P:FASBASE.ADDRESS()+0x7fff))
                        &VBusA="YES"
                   else if (P:(&addrA)<P:FASBASE.ADDRESS())||(P:FASBASE.ADDRESS()+0x7fff)<P:(&addrA)
                        &VBusA="NO"
                   else ; not only VBUS or XBUS address area
                   (
                        beep 5.
                        print "address range error: address overlaps XBUS and VBUS : &addrA"
                        enddo
                   )
               )
           )
         )

         if dialog.boolean(a.anyA)
         (
               if "&VBusA"=="YES"
                    &triggerA="AlphaBreak&&VBUS"
               else if "&VBusA"=="NO"
                    &triggerA="AlphaBreak&&XBUS"
               else
		    &triggerA="AlphaBreak"
         )
         if dialog.boolean(a.readA)
         (
               if "&VBusA"=="YES"
                    &triggerA="AlphaBreak&&VBUS&&VRead"
               else if "&VBusA"=="NO"
                    &triggerA="AlphaBreak&&XBUS&&Read"
               else
		    &triggerA="AlphaBreak&&Read"
         )
         if dialog.boolean(a.wrA)
         (
               if "&VBusA"=="YES"
                    &triggerA="AlphaBreak&&VBUS&&VWrite"
               else if "&VBusA"=="NO"
                    &triggerA="AlphaBreak&&XBUS&&Write"
               else
		    &triggerA="AlphaBreak&&Write"
         )

         ;----------------- B ------------------------
         &addrdeclB=""
         &addrB=dialog.string(addrB)
         if "&addrB"!=""
         (
           if dialog.boolean(hllB)
             &addrB="v.range(""&addrB"")"
           else if dialog.boolean(rangeB)
             &addrB="y.range(""&addrB"")"
           &addrdeclB="addr BetaBreak &addrB"
           if  FIRE()&&CPU()=="M68372"
           (
               if  P:FASBASE.ADDRESS()!=P:0x0ffffffff
               (
                   if   (P:FASBASE.ADDRESS()<=P:(&addrB))&&(P:(&addrB)<=(P:FASBASE.ADDRESS()+0x7fff))
                        &VBusB="YES"
                   else if (P:(&addrB)<P:FASBASE.ADDRESS())||(P:FASBASE.ADDRESS()+0x7fff)<P:(&addrB)
                        &VBusB="NO"
                   else ; not only VBUS or XBUS address area
                   (
                        beep 5.
                        print "address range error: address overlaps XBUS and VBUS : &addrB"
                        enddo
                   )
               )
          )
         )

         if dialog.boolean(b.anyB)
         (
               if   "&VBusB"=="YES"
                    &triggerB="BetaBreak&&VBUS"
               else if "&VBusB"=="NO"
                    &triggerB="BetaBreak&&XBUS"
               else
		    &triggerB="BetaBreak"
         )
         if dialog.boolean(b.readB)
         (
               if   "&VBusB"=="YES"
                    &triggerB="BetaBreak&&VBUS&&VRead"
               else if "&VBusB"=="NO"
                    &triggerB="BetaBreak&&XBUS&&Read"
               else
		    &triggerB="BetaBreak&&Read"
         )
         if dialog.boolean(b.wrB)
         (
               if   "&VBusB"=="YES"
                    &triggerB="BetaBreak&&VBUS&&VWrite"
               else if "&VBusB"=="NO"
                    &triggerB="BetaBreak&&XBUS&&Write"
               else
		    &triggerB="BetaBreak&&Write"
         )
         ;---------------- HLL only -----------------
         if dialog.boolean(hllonly)
         (
           Break.Delete  /Charly
           Break.SetLine /Charly /NPreFetch
           &triggerH="CharlyBreak"
         )
         ;-------------------------------------------
         ; normal ANALYZERS
         if !(a.config.hac())
         (
                Analyzer.ReProgram
                (
                              &addrdeclA
                              &addrdeclB

                  start:
                              Mark.A          if &triggerA
                              Sample.enable   if &triggerA
                              CONTinue        if &triggerA
                  
                  occured:
                              Sample.Enable   if &triggerH
                              Mark.B          if &triggerB
                              Goto    Start   if &triggerB
                )
         )

         ; HAC Analyzer
         if a.config.hac()
         (
          ; special for HAC ( only two Trigger can be supported )
                Analyzer.ReProgram
                (
                              &addrdeclA
                              &addrdeclB

                  start:
                              Mark.A          if &triggerA
                              Sample.enable   if &triggerA
                              CONTinue        if &triggerA
                  
                  occured:
                              Sample.Enable   
                              Mark.B          if &triggerB
                              Goto    Start   if &triggerB
                )
         )
         print "Analyzer programmed."
       )
               pos 0. 0. 40. 3.5
               box "Address / Expression for Start Point "

               pos 0. 3.0 40. 3.5
               box "Address / Expression for Stop Point"

               pos 41. 0.8 6. 1.
hllA:          checkbox "HLL"
               (
                       if      dialog.boolean(hllA)
                               dialog.disable rangeA
                       else
                               dialog.enable  rangeA
               )
                   
rangeA:        checkbox "Range" 
               (
                       if      dialog.boolean(rangeA)
                               dialog.disable hllA
                       else
                               dialog.enable  hllA
               )

               pos 48. 0.8 5. 1.
a.anyA:        choosebox "Any" ""
               pos 53. 0.8 6. 1.
a.readA:       choosebox "Read" ""
a.wrA:         choosebox "Write" ""

               pos 41. 3.8 6. 1.
hllB:          checkbox "HLL"
               (
                       if      dialog.boolean(hllB)
                               dialog.disable rangeB
                       else
                               dialog.enable  rangeB
               )

rangeB:        checkbox "Range"
               (
                       if      dialog.boolean(rangeB)
                               dialog.disable hllB
                       else
                               dialog.enable  hllB
               )

               pos 48. 3.8 5. 1.
b.anyB:        choosebox "Any" ""
               pos 53. 3.8 6. 1.
b.readB:       choosebox "Read" ""
b.wrB:         choosebox "Write" ""

               pos 41. 6.5  11. 1.
hllonly:       checkbox "only HLL Lines" ""
       )
               dialog.set a.anyA
               dialog.set b.anyB
               if a.config.hac()
                    dialog.disable hllonly

      )
;     -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
      menuitem "&Selective Trace..."
       (
       dialog
       (
       header "Address Selective Trace"
       pos 0x1 0x1 30.
addr:  defedit "" ""
       pos 32. 1. 7.
       button "Browse..."
       (
         local &wildcard
         &wildcard=dialog.string(addr)
         if "&wildcard"==""
           &wildcard="*"
         if !string.find("&wildcard","*?")
           &wildcard="*&wildcard*"
         symbol.browse &wildcard /c "dialog.set addr ""*""" /d
       )

       pos 0. 0. 41. 3.25
       box "Address / Expression"

       pos 1. 3.5 11. 1.
b.ab:  choosebox "Alpha"  ""
b.bb:  choosebox "Beta"   ""
b.cb:  choosebox "Charly" ""


       pos 13. 3.5 11. 1.
a.any:   choosebox "Any"   ""
a.read:  choosebox "Read"  ""
a.write: choosebox "Write" ""

       pos 42. 0.5 8. 1.

hll:   checkbox "HLL"
       (
               if dialog.boolean(hll)
                       dialog.disable range
               else
                       dialog.enable  range
       )
range: checkbox "Range"
       (
               if dialog.boolean(range)
                       dialog.disable hll
               else
                       dialog.enable  hll
       )

       pos 34. 5.5 14. 1.
Ohll:  checkbox "only HLL Lines" 
        (
         if dialog.boolean(Ohll)
         (
               dialog.disable b.ab
               dialog.disable b.bb
               dialog.disable b.cb
               dialog.disable a.any
               dialog.disable a.read
               dialog.disable a.write
               dialog.disable range
               dialog.disable hll
               dialog.disable addr
         )
         else
         (
               dialog.enable b.ab
               dialog.enable b.bb
               if !(a.config.hac())
               (
                      dialog.enable b.cb
               )
               dialog.enable a.any
               dialog.enable a.read
               dialog.enable a.write
               dialog.enable range
               dialog.enable hll
               dialog.enable addr

         )
        )

       pos 1. 7.5  9.
       defbutton "Ok"
       (
	 dialog.execute apply
         dialog.end
       )

       pos 25. 7.5  9.
       button "Cancel" "dialog.end"

       pos 13. 7.5 9.
apply: button "Apply"
       (
         local &addr &addrdecl &bpused &trigger
         local &VBus

         on error jumpto
         (
           beep 5.
           print "Input error, please check syntax"
           enddo
         )

         &addrdecl=""
         &VBus=""

         &bpused="AlphaBreak"
         if dialog.boolean(b.bb)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -